Breaking

2019년 1월 7일 월요일

Baekjoon 2908 상수 python

Baekjoon 2908 상수 python



https://www.acmicpc.net/problem/2908

방법 1

N=input().split()
A,B=0,0
for i in range(3):
    A+= int(N[0]) // 10** (2-i) * 10**i
    N[0] = int(N[0]) % 10**(2-i)
    B+= int(N[1]) // 10** (2-i) * 10**i
    N[1] = int(N[1]) % 10**(2-i)
    print(N)
if A > B:
    print(A)
else:
    print(B)

방법 2

A,B =input().split()

A=list(A)
B=list(B)
A.reverse()
B.reverse()
A=''.join(A)
B=''.join(B)

if A >B:
    print(A)
else:
    print(B)

방법 1은 약간 직관으로 풀어넣은 것으로 자리 수가 많아지면 for 문을 len(N[0])로 바꾸어 사용해볼 수 있을 것 같지만 3자리로 정해졌기 때문에 고정시켜 쉽게 사용했다.
pow(10,2)를 사용해도 좋지만 나는 10**i제곱을 사용했다. 그러나 이렇게 사용해보니 메모리가 많이 사용됨을 확인할 수 있었다.

그래서 탄생한 것이 방법 2
단순 리스트를 뒤집는 방식으로 쉽게 사용이 가능했다.
만약 reverse를 몰랐다면 사용할 수 없었겠지만 나는 알고있으니 사용할 수 있었다.

역시 아는만큼 보인다.




ALL RIGHT RESERVED TWINSTARINFO