본문 바로가기

PS/백준

[BOJ] 백준 10813 공 바꾸기 (Swift)

반응형

문제

https://www.acmicpc.net/problem/10813

 

10813번: 공 바꾸기

도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 바구니에는 공이 1개씩 들어있고, 처음에는 바구니에 적혀있는 번호와 같은 번호가 적힌 공이

www.acmicpc.net

풀이

https://dev-mandos.tistory.com/106

 

[BOJ] 백준 10810 공 넣기 (Swift)

문제 https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매

dev-mandos.tistory.com

위 문제와 비슷한 문제입니다.
다른 점은 바구니에는 공이 1개씩 들어있고, 공의 번호는 바구니의 번호와 같다는 점입니다.
[Int](1...n) 과 같이 Int 배열을 초기화 할 수 있습니다.
저는 인덱스와, 바구니의 번호를 맞춰주기 위하여 [Int](0...n) 으로 Int 배열을 초기화 하였습니다.

그 이후에는 m번의 입력을 받아서 공을 교환해주면 됩니다.
이는 ArrayswapAt 메서드를 사용하면 됩니다.

마지막으로 1번 바구니부터 n번 바구니까지 출력해주면 끝입니다.

소스코드

후기

swapAt 메서드를 사용하면 쉽게 풀 수 있는 문제인 것 같습니다.
물론 사용하지 않고, temp라는 변수를 따로 두어 값을 교환할 수 있지만, swapAt을 사용하는 것이 직관적이고 간결하다고 생각합니다.

반응형