반응형
문제
https://www.acmicpc.net/problem/10812
풀이
먼저 1부터 n까지 적힌 바구니를 배열로 만들어 줍시다.
그 이후 i, j, k를 m번 입력을 받아서 순서를 회전해주어야 합니다.
i, i + 1 ... k, k + 1... j - 1, j 와 같은 순서로 되어있는 바구니를
k, k + 1 ... j - 1, j ... i, i + 1... k - 1 과 같은 순서로 바꾸어주어야 합니다.
어떻게 순서를 바꿀 수 있을까요?
저는 기존 바구니 배열에서 k ~ j까지, i부터 k - 1 까지의 배열을 새로 만들어 주었습니다.
그 이후 기존의 바구니 배열의 i ~ j를 새로 만든 배열로 교체를 해주면 끝 입니다.
replaceSubrange 메서드를 사용하여 쉽게 구현할 수 있습니다.
소스코드
후기
순서를 바꾼 새로운 배열을 만들어서 갈아 끼워주면 쉽게 풀 수 있는 문제입니다.
replaceSubrange 메서드를 안다면 더 직관적으로 풀 수 있는 문제입니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 25206 너의 평점은 (Swift) (0) | 2023.03.03 |
---|---|
[BOJ] 백준 10988 팰린드롬인지 확인하기 (Swift) (0) | 2023.03.03 |
[BOJ] 백준 2444 별 찍기 - 7 (Swift) (2) | 2023.03.03 |
[BOJ] 백준 11718 그대로 출력하기 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 9086 문자열 (Swift) (0) | 2023.02.22 |