문제

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

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

 

 

입력

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

 

 

풀이

결국 각각의 숫자를 나눠야 하기 때문에 .split(' ')으로 배열로 변경한 다음

배열에 담긴 각 문자열을 숫자로 바꾸기 위해 .map(Number) 처리를 해주고

해당 배열을 for문으로 접근해 각각을 제곱한 다음 sum이라는 변수에 더하고

최종적으로는 sum%10으로 10으로 나눈 나머지를 출력한다.

const input = require('fs').readFileSync('/dev/stdin').toString().split(" ").map(Number)
let sum = 0

for(let i = 0 ; i < input.length ; i++){
    sum += input[i]**2
}

console.log(sum%10)
const input = '0 4 2 5 6'.split(" ").map(Number)
let sum = 0

for(let i = 0 ; i < input.length ; i++){
    sum += input[i]**2
}

console.log(sum%10)

'알고리즘 > 백준' 카테고리의 다른 글

[백준 JS] 2558번 A+B - 2  (0) 2023.03.06
[백준 JS] 2557번 Hello World  (0) 2023.03.06
[백준 JS] 2438번 별 찍기 - 1  (0) 2023.03.06
[백준 JS] 2420번 사파리 월드  (0) 2023.03.06
[백준 JS] 1330번 두 수 비교하기  (0) 2023.03.05

+ Recent posts