728x90

6/ 14 파이썬 공부
1. 백준 1259 팰린드롬수
어떤 단어를 뒤에서부터 읽어도 똑같다면 그 단어를 팰린드롬이라고 한다. 'radar', 'sees'는 팰린드롬이다.
수도 팰린드롬으로 취급할 수 있다. 수의 숫자들을 뒤에서부터 읽어도 같다면 그 수는 팰린드롬수다. 
121, 12421 등은 팰린드롬수다. 123, 1231은 뒤에서부터 읽으면 다르므로 팰린드롬수가 아니다. 
또한 10도 팰린드롬수가 아닌데, 앞에 무의미한 0이 올 수 있다면 010이 되어 팰린드롬수로 취급할 수도 있지만, 특별히 이번 문제에서는 무의미한 0이 앞에 올 수 없다고 하자.
입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 
입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다.
각 줄마다 주어진 수가 팰린드롬수면 'yes', 아니면 'no'를 출력한다.

>>>코드

while True:
    n = input()
    if n == '0':
        break
    if n == n[::-1]:
        print('yes')
    else:
        print('no')



2. 백준 2869 달팽이는 올라가고 싶다
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 
또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

>>>코드

a, b, v = map(int, input().split())
if (v-a)%(a-b) == 0:
    print((v-a)//(a-b) +1)
else:
    print((v-a)//(a-b) +2)



3. 백준 1440 타임머신
다솜이는 타임머신을 타고 8364년으로 갔다. 다행히 지구는 평화롭다.
다솜이는 2008년으로 돌아가기 전에 시계를 샀다. 다솜이는 시계를 볼 줄 모르기 때문에, 디지털 시계를 샀다. 디지털 시계는 HH:MM:SS와 같은 모양으로 시간을 나타내 준다. 그리고 앞에서부터 차례대로 HH는 시, MM은 분, SS는 초를 나타낸다.
다솜이는 8364년에는 2008년과 같은 방법으로 시간을 나타내는지 모른다. 
2008년엔 시:분:초를 나타내는지만, 8364년엔 분:시:초로 나타낼지도 모른다.
다행히 시는 01부터 12, 분은 00부터 59, 초는 00부터 59를 나타낸다.
다솜이의 시계에 쓰여 있는 숫자가 주어졌을 때, 이 시간을 읽을 수 있는 가능한 방법의 수를 출력하는 프로그램을 작성하시오. 나타내는 시간이 같더라도, 시, 분, 초를 읽을 수 있는 위치가 다르면 다른 방법으로 센다. 또한, 방법의 수가 0일 수도 있다.
예를 들어, 21:23:01 은 21분 23초 01시 로 읽을 수도 있지만, 21초 23분 01시로 읽을 수도 있다.
첫째 줄에 시간이 주어진다. 시간은 DD:DD:DD와 같은 꼴로 주어진다. 
항상 8자리(:도 포함)로만 들어오며, D는 0-9 사이의 숫자이다.
첫째 줄에 시간을 읽을 수 있는 가능한 방법의 수를 출력한다.

>>>코드

l = list(map(int, input().split(':')))
r = 0
for i in range(3):
    if l[i] >= 1 and l[i] <= 12:
        r += 2
    elif l[i] > 59:
        r = 0
        break
print(r)



크게 고려해야할 것은 2가지 이다
1) 숫자가 같더라도 다른 위치에 값이 존재한다면 다른 방법으로 친다는 것
- 숫자가 같다고 해서 나누어줄 필요가 없다

2) 경우의 수가 0이 나오는 경우 2가지
- 01과 12 사이의 수가 하나도 없을 경우
- 59 이상의 수가 나온 경우

4. 백준 26082 WARBOY
Furiosa AI에서는 AI 연산에 최적화된 반도체인 WARBOY란 이름의 NPU(Neural Processing Unit)를 만들고 있다. NPU는 인공지능 모델의 학습 및 추론을 기존의 처리 유닛보다 훨씬 빠르게 할 수 있다.
WARBOY는 글로벌 AI 반도체 벤치마크 대회의 이미지 분류, 객체 검출 처리 속도 면에서 가장 좋은 성적을 받았다. 특히, WARBOY는 가격 대비 성능이 경쟁사 제품의 3배나 되어 많은 관심을 끌었다.
가격 대비 성능은 아래와 같은 수식으로 계산된다.

- 가격대비성능 = 성능/가격

경쟁사 제품의 가격 A, 경쟁사 제품의 성능 B, WARBOY의 가격 C가 주어질 때, WARBOY의 성능을 구해보자.
첫째 줄에 세 양의 정수 A, B, C(1 <= A, B, C <= 1,000)가 공백으로 구분되어 주어진다.
B는 항상 A의 배수이다.
첫째 줄에 WARBOY의 성능을 출력한다.

>>>코드

a, b, c = map(int, input().split())
print(b//a * c * 3)


5. 백준 21598 SciComLove
당신은 싸이컴을 향해 절을 하려고 합니다. 하지만, 당신이 싸이컴에 들어오고 싶어서 절을 한 번 할 수도 있고, 싸이컴을 매우 싫어해 절을 두 번 할 수도 있습니다.
당신이 절을 할 횟수가 주어질 때, 그 횟수만큼 절하는 프로그램을 작성하세요. 
실제로 프로그램을 이용해 절을 할 수는 없기 때문에, 대신 “SciComLove”를 출력하도록 합니다.
첫 줄에 정수 N이 주어집니다.
"SciComLove"를 예제와 같이 N번 출력합니다. 단, 따옴표는 출력하지 않습니다.

>>>코드

for _ in range(int(input())):
    print('SciComLove')



6. 백준 27310 :chino_shock:
sait2000은 아니메컵 서버를 열고 나서 가장 먼저 이모지 :chino_shock:부터 추가했다.
:chino_shock:를 비롯한 여러 이모지를 사용해보던 sait2000은 :chino_shock:와 같이 이름에 언더바(_)가 들어간 이모지가 :chinoaww:와 같이 이름에 언더바가 들어가지 않은 이모지보다 더 타이핑하기 어렵다는 사실을 알게 되었다.

이모지는 하나의 콜론(:)으로 시작해서 하나의 콜론으로 끝나며, 콜론 사이의 문자들은 모두 영어 소문자 혹은 언더바(_) 중 하나로 주어진다. sait2000은 이모지의 입력 난이도를 
(이모지의 전체 길이) +(콜론의 개수) +(언더바의 개수) * 5로 정의했다. 
이 정의에 따르면 :chino_shock:의 전체 길이는 13이고 콜론이 2개, 언더바가 1개이므로 입력 난이도가 13+2+1 * 5=20이 된다.
이모지가 주어졌을 때 이모지의 입력 난이도를 계산해 출력해보자.
첫 번째 줄에 이모지가 주어진다. 주어지는 이모지는 항상 :chino로 시작하고 :로 끝나며, 전체 길이가 7 이상 32 이하이다. 이모지의 입력 난이도를 출력한다.

>>>코드

s = input()
r = len(s) + s.count(':') + s.count('_') * 5
print(r)
728x90

+ Recent posts