티스토리 뷰
바꾸는 부분의 매커니즘만 잘 적용하면 된다.
basket 배열에 1,2,3,4,5,,, 식으로 값을 저장한다. 실제로 바구니를 움직이는게 아니라 index 값을 변경해서 그대로 출력할 것이기 떄문이다.
바꿀 부분을 가리키는 start - 1과 end - 1을 Swap한다. (temp값을 이용해서) 이후 start++ end-- 해준다. 이를 start<end일떄까지만 반복한다.
BufferedStream bs = new BufferedStream(Console.OpenStandardInput()); StreamReader sr = new StreamReader(bs); string[] nm = Console.ReadLine().Split(); int[] basket = new int[int.Parse(nm[0])]; for (int i = 0; i < basket.Length; i++) basket[i] = i + 1; int num = int.Parse(nm[1]); int start; int end; int temp; while (num-- > 0) { nm = Console.ReadLine().Split(); start = int.Parse(nm[0]); end = int.Parse(nm[1]); while(start < end) { temp = basket[start - 1]; basket[start++ - 1] = basket[end - 1]; basket[end-- - 1] = temp; } }
'■ 알고리즘 > ◻ 백준' 카테고리의 다른 글
| [C#]백준 10813번 : 공 바꾸기 (0) | 2018.08.14 |
|---|---|
| [C#]백준 10812번 : 바구니 순서 바꾸기 (0) | 2018.08.14 |
| [C#]백준 10810번 : 공 넣기 (0) | 2018.08.14 |
| [C#]백준 10808번 : 알파벳 개수 (0) | 2018.08.14 |
| [C#]백준 10807번 : 개수 세기 (0) | 2018.08.14 |