Algorithm/백준(BOJ)

[Python] 2475 - 검증수

Gr00t 2021. 1. 16. 02:09

문제

컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다.

고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들어간다.

검증수는 고유번호의 처음 5자리에 들어가는 5개의 숫자를 각각 제곱한 수의 합을 10으로 나눈 나머지이다.

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

입력

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

출력

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


풀이

  • 그냥 for문으로 풀어도 되지만 조금 다른 방식으로 풀고 싶어 maplambda를 이용했다.
  • maplambda식과 리스트를 mapping 시킨다.
  • lambda식은 값을 제곱으로 바꿔준다.

from sys import stdin

input = stdin.readline


def valid_number(n):
    return sum(map(lambda x: x ** 2, n)) % 10


if __name__ == "__main__":
    unique_number = list(map(int, input().split()))
    res = valid_number(unique_number)
    print(res)

이 문제를 마지막으로 Class 1을 All Clear 했다 👍🏻

'Algorithm > 백준(BOJ)' 카테고리의 다른 글

[Python] 1654 - 랜선 자르기  (0) 2021.01.19
[Python] 1259 - 펠린드롬수  (0) 2021.01.18
[Python] 2920 - 음계  (0) 2021.01.16
[JAVA] 1924 - 2007년  (0) 2021.01.15
[JAVA] 2739 - 구구단  (0) 2021.01.14