회고
[개발일지] - 307(연차)
Happy Programmer
2024. 5. 2. 23:44
(1).백준 9288번 More Dice는 특정 숫자 값이 나올 수 있는 주사위 쌍을 출력해야 하는 문제로
각 케이스마다 중복없이 오름차순으로 결과를 출력해야 했는데
for문으로 각각의 케이스를 순회하면서 케이스마다 중복체크용 resultMap을 생성하고
해당 Map에 값을 담을 때 작은 값이 앞으로 가도록 Math min, max를 사용해서 담아주고
해당 값을 key in obj 형태의 for문을 사용해 순회 후 result에 담아서 출력하는 방식으로 해결했다.
const input = `6
7
5
3
3
5
12`.split('\n').map(Number)
const result = []
for(let i = 1 ; i < input.length ; i++){
result.push(`Case ${i}:`)
const resultMap = {}
for(let j = 1 ; j < 7 && j < input[i] ; j++){
for(let k = 1 ; k < 7 && j + k <= input[i] ; k++){
if(j + k == input[i]){
resultMap[Math.min(j, k)] = Math.max(j, k)
}
}
}
for(let key in resultMap){
result.push(`(${key},${resultMap[key]})`)
}
}
console.log(result.join('\n'))