회고

[수습일지] - 73(동원훈련)

Happy Programmer 2023. 6. 7. 23:05

(1).백준 20361번 일우는 야바위꾼은 공 바꾸기 문제와 유사한 문제로

일우가 컵에 넣은 공을 계속해서 바꾸고 있을 때

일우가 사기를 치는 것 같은 생각이 들어

이동 경로를 모두 적어놓고 결과와 비교하려고 하는 문제였다.

 

결국 각 경로에 맞춰서 이동 작업을 진행해주면 되는 문제로

이전 다른 문제들과는 다르게 공의 보유 여부만 확인하면 되기 때문에

공이 있는 곳에는 1을 할당하고 마지막에 indefOf로 해당 위치를 찾아줬다.

const input = `3 2 4
1 3
3 2
3 1
2 3`.split('\n').map(el => el.split(' ').map(Number))

const balls = new Array(input[0][0]+1).fill(0)

balls[input[0][1]] = 1

for(let i = 1 ; i < input.length ; i++){
    const [before, after] = input[i]
    const temp = balls[before]
    balls[before] = balls[after]
    balls[after] = temp
}

console.log(balls.indexOf(1))