Algorithm/Baekjoon

#백준 2908 상수, 파이썬

say! 2022. 6. 29. 16:29
728x90
#백준 2908 : 상수

a, b = input().split()  #공백으로 구분해서 두 수 입력받기

tmp = ''
for c in a:
    tmp = c + tmp
a = tmp
tmp = ''
for c in b:
    tmp = c + tmp
b = tmp

if int(a) > int(b):
    print(a)
elif int(a) < int(b):
    print(b)

아무래도 파이썬 문법을 잘 이해해야 코드를 깔끔하게 문제를 깔끔하게! 풀 수 있는듯.

문자열을 뒤집기 위해 reverse 함수를 사용해봤는데 적용이 안되어서 찾아보니까 reverse 함수는 리스트에서만 적용가능한 것이었다! (input()으로 입력받은 것은 문자열!!) 그래서 그냥 문자열을 뒤집고 int형으로 바꾸어 비교해서 문제를 풀었다.

 

# 문자열 뒤집는 법

tmp = ''
for c in a:
    tmp = c + tmp

 

# reverse 함수는 리스트에만 사용가능하다.

b = input() # 문자열로 입력받음
b = list(b) #리스트로 바꾼 후 reverse 사용가능
a.reverse()

 

# 삼항연산자

print(a) if a > b else print(b)

if a > b:
    print(a)
elif a < b:
    print(b)

 

- 좀 더 깔끔한 풀이 코드

#백준 2908 : 상수

a, b = input().split()  #공백으로 구분해서 두 수 입력받기

# 풀이 2
a = int(a[::-1]) #역순으로 뒤집어 반환
b = int(b[::-1])

print(a) if a > b  else print(b)