chrishoho   2년 전

문제를 대충 읽고 풀어서 맞았는데 다시 자세히 읽어보니까 잘못되지 않았나 싶습니다

3
2 0 1
1 2 0

정답 : 2

문제 설명에 있는 "카드를 한 번 섞고 나면 i번째 위치에 있던 카드는 S[i]번째 위치로 이동하게 된다." 라는 말을 그대로 해보면

[0, 1, 2]를 한번 섞으면

0번째 위치에 있던 카드(0)이 s[0]=1번째 위치로 이동하게 되고

1번째 위치에 있던 카드(1)이 s[1]=2번째 위치로 이동하게 되고

2번째 위치에 있던 카드(2)가 s[2]=0번째 위치로 이동하게 되어서

[2, 0, 1]이 완성되고 결과는 1번 섞으면 된다가 나오게 되는 것 같습니다

바르게 되려면 "카드를 한 번 섞고 나면 S[i]번째 위치에 있던 카드는 i번째 위치로 이동하게 된다."일 것 같은데

이대로 [0, 1, 2]를 한번 섞으면

s[0]번째 위치에 있던 카드(1)이 0번째 위치로 이동하게 되고

s[1]번째 위치에 있던 카드(2)가 1번째 위치로 이동하게 되고

s[2]번째 위치에 있던 카드(0)이 2번째 위치로 이동하게 되어서

[1, 2, 0]이 되고 이를 한 번 더 섞으면 [2, 0, 1]이 되어서 정답과 동일한 2가 리턴 되는 것 같습니다.

혹시 제가 잘못 풀었는데도 맞은 건지 아니면 문제 설명에 잘못이 있는 건지 확인 부탁드리겠습니다.

wider93   2년 전

S를 반대로 생각해야 한다고 제안해 주셨는데, 결론이 그렇게 나온 이유는 P를 반대로 읽으셨기 때문입니다.

P는 i번째 위치에 있던 카드가 마지막에 가 있어야 하는 플레이어를 가리킵니다. P가 [2,0,1]이라면 마지막의 카드 배열은 [1,2,0]이 되어야 합니다.

chrishoho   2년 전

아하 그렇군요 거기도 제가 대충 읽었네요... 결과적으로 잘못 풀었는데도 맞은거네요 감사합니다

댓글을 작성하려면 로그인해야 합니다.