[python] 백준 2908

Skye·2022년 3월 15일
0

문제: 입력받은 두 수를 역순으로 배치하고 비교하기

python에는 문자열 역순으로 배치하는데 여러가지 방법이 있다.
구글링을 해보니 대략 3가지 방법이 있다.
하지만 for문으로 뒤집는건 귀찮고 사용하지 않을 것 같으니 나머지 2개를 정리해볼 것이다.

  1. reverse
  2. [::-1]

1. reverse

문자열은 reverse 함수가 없다.
따라서 reverse를 사용하려면

문자열 → 리스트 → reverse → join으로 이어붙이기

이때 참고로 reverse함수는 반환하는 것 없이 배열 자체를 뒤집어버리기 때문에 새로운 변수로 받지 않아도 된다!

💻 예시

a=input().strip()
li=list(a)
li.reverse()
final="".join(li)
print(final)
입력>> hi~~
출력>> ~~ih

2. [::-1] 문자열 슬라이싱

문자열[start:end:규칙] : 문자열 start부터 end까지 규칙에 해당하는 인덱스를 뽑아서 새로운 문자열을 만드는 것이다.
규칙은 default로 1이 들어가게 된다.
따라서 우리가 원하는 것처럼 역순으로 하려면 규칙에 -1을 대입하면 된다.

💻 예시

a=input().rstrip()
k=a[::2]	#0번,2번,4번...해당 인덱스만 뽑아서 새로운 문자열 만든다!
a_reverse=a[::-1]
print(k)
print(a_reverse)
입력>>	hi~~
출력>>	h~
		~~ih

나는 join까지 하기 귀찮아서 2번 방법(문자열 슬라이싱)을 가지고 문제를 풀었다.

✍️ 문제풀이

  1. 두 수를 입력받는다.
  2. 각각 문자열 슬라이싱 방법([::-1])을 이용해서 역순으로 배치한다.
  3. 두 수 모두 자료형을 정수형으로 형변환하고 max함수를 이용해 두 수 중에서 더 큰수를 출력한다.

💻 코드

import sys
input=sys.stdin.readline
A,B=input().split()
A_reverse=int(A[::-1])
B_reverse=int(B[::-1])
print(max(A_reverse,B_reverse))

참고: https://blockdmask.tistory.com/581

0개의 댓글