A A
[백준] 2475번 : 검증수 (by Python / 파이썬)

백준 2475번: 검증수 (수학, 구현, 사칙연산)

 

https://www.acmicpc.net/problem/2475


문제

컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다. 검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.

 

예를 들어 고유번호의 처음 5자리의 숫자들이 04256이면, 각 숫자를 제곱한 수들의 합 0+16+4+25+36 = 81 을 10으로 나눈 나머지인 1이 검증수이다.

입력

첫째 줄에 고유번호의 처음 5자리의 숫자들이 빈칸을 사이에 두고 하나씩 주어진다.

예제 입력 1

0 4 2 5 6

예제 출력 1

1

풀이

num = map(int, input().split())

result = 0

for i in num:
    result += i**2

print(result%10)

 

 

먼저 input().split()을 사용하여 사용자로부터 한 줄에 입력된 5개의 숫자를 공백을 기준으로 분리합니다.

  • 그후 map(int, ...)을 통해 각 분리된 문자열을 정수로 변환합니다. 이때, num은 이터레이터(iterator)로, 나중에 for 루프에서 각 숫자에 접근할 수 있습니다.

result 변수를 0으로 초기화합니다. 이 변수는 제곱한 수들의 합을 저장합니다.

  • for 루프를 통해 num 이터레이터의 각 숫자 i를 제곱(i**2)한 값을 result에 더합니다.
  • 그후, result에 저장된 제곱 합을 10으로 나눈 나머지를 계산합니다 (result % 10)