(1).백준 5533번 유니크는 유일한 숫자를 말했을 떄 해당 숫자를 점수로 받는 라운드가 여러개 지났을 때
최종적으로 각자 참가자들의 점수를 출력해야 하는 문제였다.
가로면 간단하지만 세로라서 잠깐 고민을 해봤는데 for문 내부에서 가로 세로를 반대로 넣어서 돌려주면 되기 때문에
세로 방향으로 순회될 수 있도록 내부 값을 밖에서 꺼내주고 행 값을 변경하는 방식으로 중복을 찾아준 다음
중복인지 확인 후 중복이 아니면 점수를 더해주는 방식으로 해결했다.
const input = `5
100 99 98
100 97 92
63 89 63
99 99 99
89 97 98`.split('\n').map(el => el.split(' '))
const list = new Array(input.length -1).fill(0)
for(let i = 0 ; i < input[1].length ; i++){
const map = {}
for(let j = 1 ; j < input.length ; j++){
if(map[input[j][i]]){
map[input[j][i]]++
}
else{
map[input[j][i]] = 1
}
}
for(let j = 1 ; j < input.length ; j++){
if(map[input[j][i]] === 1){
list[j - 1] += Number(input[j][i])
}
}
}
console.log(list.join('\n'))'회고' 카테고리의 다른 글
| [개발일지] - 918 (0) | 2026.01.17 |
|---|---|
| [개발일지] - 916 (0) | 2026.01.16 |
| [개발일지] - 914 (0) | 2026.01.14 |
| [개발일지] - 913 (0) | 2026.01.13 |
| [개발일지] - 912(주말) (0) | 2026.01.12 |
