Skip to content

Baekjoon 3486

1. 문제

문제 확인하기

2. 정답 코드 (Python, memory: 31120KB, time: 940ms)

# N 입력 받기
N = int(input())

# N번 반복
for _ in range(N):
    # 두 개의 역순 수 입력 받기
    a, b = input().split()
    # 역순 수를 정수로 변환하고 더하기
    c = int(a[::-1]) + int(b[::-1])
    # 덧셈 결과를 역순으로 출력하기
    print(int(str(c)[::-1]))

3. 코드 작동 순서

  1. N이라는 변수에 정수를 입력받습니다. 이 N은 테스트 케이스의 개수를 나타냅니다.
  2. for문을 이용하여 N번 반복합니다. 각 반복마다 두 개의 역순인 수를 공백으로 구분하여 입력받습니다. 예를 들어, 24와 1을 입력받으면 a에는 '24', b에는 '1'이 저장됩니다.
  3. a와 b를 역순으로 바꾸기 위해 슬라이싱을 사용합니다. 슬라이싱은 문자열의 일부를 잘라내는 기능입니다. 예를 들어, a[::-1]은 a의 문자열을 뒤에서부터 읽어서 새로운 문자열인 '42'를 만듭니다. 마찬가지로 b[::-1]은 '1'이 됩니다.
  4. 역순으로 바뀐 a와 b를 정수로 변환하기 위해 int 함수를 사용합니다. int 함수는 문자열을 정수로 바꿔주는 기능입니다. 예를 들어, int('42')는 42라는 정수가 됩니다. 따라서 c에는 int(a[::-1]) + int(b[::-1])의 값인 43이 저장됩니다.
  5. c를 다시 역순으로 바꾸고 정수로 변환하여 출력합니다. 이때, c를 문자열로 바꾸기 위해 str 함수를 사용합니다. str 함수는 정수를 문자열로 바꿔주는 기능입니다. 예를 들어, str(43)은 '43’이라는 문자열이 됩니다. 따라서 print(int(strc))은 34라는 정수를 출력합니다.

2 ~ 5의 과정을 각 테스트 케이스의 개수인 N만큼 반복하며 각각의 결과를 출력합니다.