반응형
문제
https://www.acmicpc.net/problem/10810
풀이
N개의 바구니를 Int 자료형을 담은 1차원 배열로 N개 만들어야 겠다는 생각이 들었습니다.
index는 0부터 시작하므로, 총 N + 1 개를 만들어 주었습니다.
바구니가 비어있다면 0을 출력해주어야 하므로, 맨 처음에는 모두 비어있기 때문에 값은 0으로 초기화를 해주었습니다.
M개의 줄에 거쳐서 공을 넣는 방법이 주어지는데,
i번 부터, j번 바구니까지, k번 번호가 적힌 공을 넣습니다.
공이 이미 있다면 있는 공을 빼고, 새로 공을 넣게 됩니다.
뺴는 것을 직접 구현할 필요는 없고, 단순히 값을 바꿔주면 됩니다.
Array의 replaceSubrange 메서드를 사용하여, 값을 바꿔줄 수 있습니다.
또는, i부터 j번 까지 반복문을 사용하여 k번 번호를 넣어주어도 됩니다.
저는 Array의 replaceSubrange 메서드를 사용하여 풀이하였습니다.
그 이후, 바구니의 1번 인덱스부터 출력해주면 됩니다.
소스코드
후기
Array의 replaceSubrange를 처음 사용해 본 것 같습니다.
물론 for문으로도 풀이할 수 있지만, 다양한 풀이 방법이 있다는 것을 알면 좋을 것 같습니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 10811 바구니 뒤집기 (Swift) (0) | 2023.02.22 |
---|---|
[BOJ] 백준 10813 공 바꾸기 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 25314 코딩은 체육과목 입니다 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 2743 단어 길이 재기 (Swift) (0) | 2023.02.22 |
[BOJ] 백준 11382 꼬마 정민 (Swift) (0) | 2023.02.22 |