728x90
문제

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

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

입력

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

출력

첫째 줄에 검증수를 출력한다.

예제 입력
0 4 2 5 6
예제 출력
1
n1, n2, n3, n4, n5=map(int,input().split())
result=0
result+=(n1*n1)
result+=(n2*n2)
result+=(n3*n3)
result+=(n4*n4)
result+=(n5*n5)
result%=10
print(result)

오랜만에 python으로 문제를 풀어봐서 코드를 효율적으로 짜지는 못했는데요.

앞 게시물인 c언어 2475에서 언급한 단순히 모든 변수를 선언해 넣어주었습니다.

처음에는 input에 split만 활용하면 되는 줄 알았으나 숫자이므로 map을 활용해야 한다는 것을 알게 되었습니다.

그리고 파이썬은 별도로 형식 선언이 없어서 result를 0으로 하여 int형이라는 것만 알려주었습니다.

그리고 5개를 모두 더해주었고 10으로 나누어 주었습니다. 

그리고 이를 print 해 주었습니다.

 

기회가 된다면 조금 더 간단한 코드를 짜보겠습니다.

728x90

+ Recent posts