티비 채널 중에 KBS1을 첫번째로, KBS2를 두번째로 옮기는 방법을 묻는 문제이다.
최대 100개의 채널이 주어지고, 500번의 기회안으로 옮겨야 되는데, 옮기는 방법은 다음과 같다.
1. 화살표를 한 칸 아래로 내린다. (채널 i에서 i+1로)
2. 화살표를 위로 한 칸 올린다. (채널 i에서 i-1로)
3. 현재 선택한 채널을 한 칸 아래로 내린다. (채널 i와 i+1의 위치를 바꾼다. 화살표는 i+1을 가리키고 있는다)
4. 현재 선택한 채널을 위로 한 칸 올린다. (채널 i와 i-1의 위치를 바꾼다. 화살표는 i-1을 가리키고 있다)
이 문제를 푸는 간단한 방법은 KBS1을 찾을 때 까지 1번으로 채널을 내리고, KBS1을 처음 까지 4번으로 채널을 올린다. KBS2도 마찬가지로 1번으로 내려가고, 두번째 까지로 4번으로 올리면 된다.
채널 수가 총 100개이기 때문에 각 채널을 1,4번으로 옮기는 최악의 경우는 200번. 채널이 2개이기 때문에 최대 400번의 기회로 옮기는것이 가능하다.
소스
댓글 없음:
댓글 쓰기