티스토리 뷰

 

2475번: 검증수

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

www.acmicpc.net

print(sum(list(map(lambda x: int(x)**2, input().split()))) % 10)

위에 코드가 끝이다. list()함수와 map()함수를 이용해서 한줄로 끝냈다.

입력으로 5개의 숫자가 공백을 기준으로 주어지고, 출력으로는 5개의 숫자의 제곱의 합을 10으로 나눈 나머지이다.

map함수를 이용해서 공백으로 나누어진 숫자를 정수형으로 바꾸어 리스트로 저장하고, 다시한번 map함수를 사용해서 각각의 숫자들을 제곱해주었다. 그리고 나서 리스트의 합을 10으로 나눈 나머지를 출력해 주었다.

 

숏코딩에도 도전해보았다!


map() 함수

이 함수는 map( 함수, 반복가능한 객체)로 이루어져있다. 이를 이용해서 리스트안의 값들을 반복문을 사용하지 않고도 모두 같은 함수를 적용할 수 있다. 위에 코드를 예시로 설명 하자면 다음과 같다.

map(lambda x: int(x)**2, input().split())))

일단 각각의 숫자를 정수로 바꾸어 주고, 제곱을 해주어야해서 lambda 함수를 정의해주었습니다. 그리고 입력받은 문자열(반복 가능한 객체)을 인자로 넣어주었습니다. 그러면 map()함수는 문자열을 lambda함수에 따라 먼저 정수형으로 바뀌고 제곱된 값이 저장된다.

BOJ Solutions: https://github.com/Isaac-Lee/BOJ-Algorithm

 

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
글 보관함