Lumpy Space Princess - Adventure Time
코딩테스트/백준

백준 [2908] - 상수

yaebb_82 2022. 8. 20.

 

 

 

문제

 

 

 

작성한 코드

import sys

input = sys.stdin.readline

a, b = input().split()

arr_a = list(map(str, a))
arr_b = list(map(str, b))

str_a = ""
str_b = ""

for i in range(2, -1, -1):
  str_a += arr_a[i]
  str_b += arr_b[i]

if int(str_a) > int(str_b):
  print(int(str_a))
else:
  print(int(str_b))

- sys.stdin.readline을 input에 할당하여 사용한다.

- input()으로 문자를 입력받아, split()으로 구분하여 a와 b에 값을 할당한다.

- a를 문자열 형태로 map()을 통해 list인 arr_a에 각각 할당하고, arr_b도 마찬가지로 할당한다.

- str_a, str_b에 ""를 할당하여 문자열임을 선언한다.

- for i in range(2, -1, -1): 2부터 0까지 역순으로 반복문 for문을 돌리고, arr_a와 arr_b의 인덱스 2부터 역순으로 진행하여 str_a, str_b에 문자열을 더해준다.

- int형으로 형변환한 str_a와 str_b의 값을 비교하여, int(str_a)가 크다면 int(str_a)의 값을 출력하고, int(str_b)가 크다면 int(str_b)의 값을 출력한다.

 

 

cf.) 더 좋은 코드

import sys

input = sys.stdin.readline

a, b = input().split()

num_a = int(a[ : : -1])
num_b = int(b[ : : -1])

if num_a > num_b:
  print(num_a)
else:
  print(num_b)

- 리스트 슬라이싱 [시작 index : 종료 index : step]을 이용한다.

- a와 b를 리스트로 만들어, step을 -1로 주어 전체를 역순으로 뒤집는다. 이후에 int형으로 형변환하여 num_a, num_b에 각각 저장한다.

 

 

 

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 [2941] - 크로아티아 알파벳  (0) 2022.08.23
백준 [5622] - 다이얼  (0) 2022.08.23
백준 [1152] - 단어의 개수  (0) 2022.08.20
백준 [1157] - 단어 공부  (0) 2022.08.20
백준 [2675] - 문자열 단계  (0) 2022.08.20

댓글