티스토리 뷰
반응형
문제
컴퓨터를 제조하는 회사인 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
풀이
고유번호가 주어졌을 때, 6번째 자리에 검증수를 넣는다.
이 검증수는 고유번호의 5자리 숫자를 각각 제곱하여 합한 뒤, 10으로 나눈 나머지가 된다.
a = list(map(int,input().split()))
b=0
for i in range(5):
b+=a[i]*a[i]
print(b%10)
파이썬에서 나머지는 % 연산자로 출력할 수 있다. 예를 들어 10%2 이면 나머지의 결과는 0이다. (2로 완전히 나누어 떨어지므로)
마찬가지로 몪을 연산할 수도 있는데, 몪은 // 연산자로 출력할 수 있다. 10//2면 몫은 5가 된다.
따라서 위 코드에서 다섯개의 숫자를 map 함수를 이용해 정수 리스트로 만든 뒤, 각각의 값을 제곱해 더해주고 나머지를 출력하면 된다.
반응형