티스토리 뷰
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
'알고리즘 이야기 > BOJ 백준 알고리즘' 카테고리의 다른 글
[BOJ] 2163번 - 초콜릿 자르기 (0) | 2020.03.24 |
---|---|
[BOJ] 1904 - 01타일 (0) | 2020.03.22 |
[BOJ] 9095번 - 1, 2, 3 더하기 (0) | 2020.03.18 |
[BOJ] 1463번 - 1로 만들기 (feat. python main함수) (0) | 2020.03.18 |
[BOJ] 14717번 앉았다 (feat. sort() 함수) (0) | 2020.03.09 |
- Total
- Today
- Yesterday
- devcon
- 파이썬
- boj
- github
- IT대외활동
- 프론트엔드
- 후기
- 합격
- 코딩테스트
- 클린코드
- 개발자밋업
- SW마에스트로
- 기계식 키보드
- DevOps
- 오픈소스
- 개발자북클럽
- 노마드코더
- 네트워크
- python3.8
- 백준
- 타입스크립트
- 오픈소스기여
- python
- 알고리즘
- ssi-at
- 개발자
- 노개북
- 회고
- 프로그래머스
- 대전
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |