https://www.acmicpc.net/problem/2908
#리스트와 문자열 변환
A, B = input().split()
listA = list(A)
listB = list(B)
listA.reverse()
listB.reverse()
A = ''.join(listA)
B = ''.join(listB)
int(A), int(B)
if A > B:
print(A)
else :
print(B)
여기서 알게 된 점. 문자열 자체는 reverse()
함수를 사용할 수 없다. 리스트 내장함수이기 때문에 문자열을 리스트로 변환하고 사용해야 한다.
c.f reversed(str)
이 방식으로 문제를 풀 수도 있다.
리스트의 요소를 합쳐서 하나의 문자열로 만든다.
''.join(list)
''.join(리스트)
를 이용하면 매개변수로 들어온 ['a', 'b', 'c'] 이런 식의 리스트를 'abc'의 문자열로 합쳐서 반환해주는 함수이다.'구분자'.join(리스트)
'_'.join(['a', 'b', 'c'])
라 하면 "a_b_c" 와 같은 형태로 문자열을 만들어서 반환해준다.그리고 정수 비교할 때는 문자열을 int
로 변환해서 비교해야 함!
# 문자열 슬라이싱 이용
A, B = input().split()
A2 = A[::-1]
B2 = B[::-1]
int(A2), int(B2)
if A2 > B2:
print(A2)
else :
print(B2)
문자열[:] 을 하면 문자열[시작:끝] 과 같으며, 이것은 문자열을 앞에서부터 하나씩 슬라이싱 해서 새로운 문자열을 만드는 것이다.
문자열[시작:끝:규칙]으로 세 번째 숫자가 들어갈 수 있는데, 이때의 규칙은 슬라이싱을 하는 규칙을 말한다.
여기에 1이 들어가는 것이 디폴트 값이며 1이 들어가게 되면 문자열을 앞에서부터 하나씩 잘라서 새로운 문자열을 만든다.
2가 들어가게 되면 앞에서부터 한 칸씩 띄워서 2씩 잘라주어 새로운 문자열을 만들어 준다.인덱스를 기준으로 보면 [0], [2], [4] .. 이런 식으로 문자열을 자르게 됩니다.
이 규칙에 -1을 넣어서 뒤에서부터 잘라서 문자열을 뒤집을 수 있다.
name1 = "BlockDMask's blog"
name2 = name1[::1]
name3 = name1[::2]
name4 = name1[::-1]
name5 = name1[::-2]
print(f'name : {name1}')
print(f'name[::1] : {name2}')
print(f'name[::2] : {name3}')
print(f'name[::-1] : {name4}') # 우리가 원하는 역순 출력
print(f'name[::-2] : {name5}')