(1).백준 9907번 ID는 주민번호 앞자리가 주어질 때

뒤에 특수 기호를 붙여서 구분한다고 하는데 솔직히 동일한 로직인데 

생성 시간의 구분도 아니고 왜 이런 말도안되는 문자를 뒤에 삽입하는지 모르겠다.

 

생각해보면 해당 주민번호의 유효성 체크를 위해서 존재할 수는 있을 것 같은데

어쨌건 각 주민번호의 자릿수에 2,7,6,5,4,3,2를 곱한 다음 11로 나눈 나머지를 target에 있는 수치에 대입해야 하는데

해당 계산은 for문으로 순회하며 sum에 담은 다음 최종적으로 target 배열의 index로 넣어 출력했다.

const input = `0000000`.split('').map(Number)
const weight = [2, 7, 6, 5, 4, 3, 2]
const target = ['J', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'Z']
let sum = 0

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

console.log(target[sum%11])

'회고' 카테고리의 다른 글

[개발일지] - 207  (0) 2024.01.23
[개발일지] - 206  (0) 2024.01.22
[개발일지] - 204(주말)  (0) 2024.01.20
[개발일지] - 203  (0) 2024.01.19
[개발일지] - 202  (0) 2024.01.18

+ Recent posts