쥐수의 공부노트
백준 10813번 공 바꾸기 본문
728x90
정답 :
코드를 보는데, 변수에 배열 값을 저장해놓고 바꾸는 방식은 너무 초보같은 느낌이 들어서 한번 인터넷 검색을 해봤더니,
array에 swapAt 이라는 매서드가 있었다. 간단하게 위치 두개를 지정해주면 값을 변경해준다.. ( 이걸 이제야 알다니..)
그리고, 위 코드에서는 n 만큼 배열을 생성하기 위해 for-in 구문을 사용했는데, 이 부분도 변경이 가능했다.
변경 하고 난 후의 코드 :
array = [Int](0...n) 부분에서, array에 자동으로 0부터 n까지 숫자를 넣어주는 기능이다.
그리고, swapAt을 이용하여 first 부분과 second 부분을 변경하였다.
위 코드에서는 -1을 했지만, 우리는 0부터 숫자에 넣었고, 바구니 번호와 배열 index 번호를 동일하게 맞췄기에, -1을 할 필요가 없다.
마지막에 forEach를 사용하여 print를 할때는, array의 index번호가 1번부터 해당되게 설정했다.
728x90
'swift 알고리즘 > 1차원 배열' 카테고리의 다른 글
백준 3052번 나머지 (0) | 2023.04.19 |
---|---|
백준 5597번 과제 안 내신 분..? (0) | 2023.04.19 |
백준 10810번 공 넣기 (0) | 2023.04.19 |
백준 2562번 최댓값 (0) | 2023.04.19 |
백준 10818번 최소, 최대 (0) | 2023.04.19 |