반응형
문자열의 역행을 사용할 수 있는지, 타입변환을 할 수 있는지 물어보는 문제
< 나의 코드 >
import sys
A, B = sys.stdin.readline().rstrip().split()
rev_A = A[::-1]
rev_B = B[::-1]
ans_A = int(rev_A)
ans_B = int(rev_B)
if ans_A > ans_B:
print(ans_A)
else:
print(ans_B)
< 시행착오 >
직접 for문으로 문자열을 역행으로 만드는데 까진 성공, 근데 리스트를 정수로 변환할떄 Type Error가 남
< 문제의 코드 >
import sys
A, B = sys.stdin.readline().rstrip().split()
rev_A = []
rev_B = []
for i in range(len(A)-1, -1, -1):
rev_A.append(A[i])
for i in range(len(B)-1, -1, -1):
rev_B.append(B[i])
ans_A = int(rev_A) # map함수를 사용해서 int형으로 변환해봤지만, map 타입끼리는 크기 비교가 불가하다고 함
ans_B = int(rev_B)
if ans_A > ans_B:
print(ans_A)
else:
print(ans_B)
< 해결방법 >
리스트를 역행으로 재배치 해주는 [::-1] 방법이 있었음.
< 아직 이해가 안가는 부분 > - 추후 이해가 되면 수정해서 기록해둘 예정
정답 코드에서 입력을 받고 나서 바로 int형으로 캐스팅하면 int형으로 잘 변환이 되는데, 문제의 코드에서 for문을 사용해 역행 리스트를 만들고 int형으로 캐스팅할때 왜 TypeError가 뜨는지 모르겠음..
반응형
'알고리즘 공부' 카테고리의 다른 글
[파이썬] 백준 1546 - 평균 (0) | 2021.03.11 |
---|---|
[파이썬] 백준 9012 - 괄호 (0) | 2021.03.08 |
[파이썬] 백준 1152 - 단어의 개수 (0) | 2021.03.06 |
[파이썬] 백준 1157 - 단어공부 (0) | 2021.03.06 |
[파이썬] 백준 10828 - 스택 (0) | 2021.03.05 |