검증수

1742 단어 백준백준

백준 - 검증수

문제 설명

문제

컴퓨터를 제조하는 회사인 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

제출

아래와 같이 코드를 작성했다

const fs = require('fs')
const input = fs.readFileSync('/dev/stdin').toString().split(" ")
const number = input.map(item => parseInt(item)*parseInt(item))
var sum = 0
for(i=0; i<5; i++){
    sum += number[i]
}
const key = sum % 10
console.log(key)

처음으로 한번에 맞아본 문제다😊

input에 입력 값을 받은 후 number에 map 함수를 이용해서 제곱을 한 배열을 리턴해주었다

그리고 반복문을 이용해서 전체 합을 구한 후에 합을 10으로 나누고 그 값을 콘솔로 찍었다

맞춘 후에도 구글로 검색해보고 비교해봤는데 확실히 다른 분들 코드는 짧고 간결했다

맞춰도 속이 시원하지는 않지만 조금씩 성장해나가도록 하자!!

아래는 잘하시는 분 코드이다

const fs = require('fs'); 
let answer = 0; 
const input = fs.readFileSync("/dev/stdin").toString().trim().split(" ").map(i => answer += Math.pow(Number(i), 2)); 
answer = answer % 10; 
console.log(answer)

출처: https://overcome-the-limits.tistory.com/167 [Plus Ultra]

좋은 웹페이지 즐겨찾기