(1).백준 10813번 공 바꾸기는 n개의 공을 m번 바꿔야 하는 문제였다.
하지만 문제의 난이도에 비해 너무 단순한 요구조건이기 때문에
아래에 정리된 바꾸는 순서(m)개를 m번 반복해야 한다고 생각하고 while문을 돌려버렸다.
//문제의 해결과는 다른 풀이..
const input = `5 4
1 2
3 4
1 4
2 2`.split('\n').map(el => el.split(' ').map(Number))
const arr = []
let count = input[0][1]
for(let i = 0 ; i < input[0][0] ; i++){
arr.push(i+1)
}
while(count){
count--
for(let i = 1 ; i < input.length ; i++){
const [a, b] = input[i]
const temp = arr[a-1]
arr[a-1] = arr[b-1]
arr[b-1] = temp
}
console.log(arr)
}
4번 돌리니 값이 괴랄해졌고
첫 번째 돌린 값에 정답이 들어있는 것을 console을 통해 보고
while문과 count를 지워 문제를 해결할 수 있었다.
문제를 얼핏 보고 구현하는 것이 아니라
요구사항을 확실히 파악하고 문제를 푸는 것이 중요한 것 같다.
const input = `5 4
1 2
3 4
1 4
2 2`.split('\n').map(el => el.split(' ').map(Number))
const arr = []
for(let i = 0 ; i < input[0][0] ; i++){
arr.push(i+1)
}
for(let i = 1 ; i < input.length ; i++){
const [a, b] = input[i]
const temp = arr[a-1]
arr[a-1] = arr[b-1]
arr[b-1] = temp
}
console.log(arr.join(' '))
'회고' 카테고리의 다른 글
[수습일지] - 71 (0) | 2023.06.05 |
---|---|
[수습일지] - 70(주말) (0) | 2023.06.04 |
[수습일지] - 68 (0) | 2023.06.02 |
[수습일지] - 67 (0) | 2023.06.01 |
[수습일지] - 66 (0) | 2023.05.31 |