코딩테스트
-
% 연산을 사용하는 이유, 활용법코딩테스트 2024. 8. 22. 16:01
원형 배열에서 % 연산을 사용하는 이유와 그 작동 방식을 좀 더 자세히 설명해 보겠습니다.1. 원형 배열의 개념원형 배열은 배열의 마지막 요소가 다시 첫 번째 요소와 연결되는 구조를 의미합니다. 예를 들어, 배열 [1, 2, 3, 4, 5]가 있다고 할 때, 5 다음에 다시 1로 돌아갑니다. 즉, 배열의 끝과 시작이 연결된 상태라고 생각할 수 있습니다.2. 인덱스를 통해 원소에 접근하기일반적인 배열에서는 인덱스를 사용하여 요소에 접근할 수 있습니다. 예를 들어, 배열 [1, 2, 3, 4, 5]에서 인덱스 0은 1, 인덱스 1은 2에 해당합니다.하지만 원형 배열에서는 마지막 요소 다음에 다시 첫 번째 요소로 돌아가야 하기 때문에, 단순히 인덱스를 증가시키는 방식으로는 순환 구조를 구현할 수 없습니다.3...
-
백준 11866 요세푸스 문제 Swift코딩테스트 2024. 8. 22. 16:00
요세푸스 순열(Josephus permutation)은 고전적인 문제로, 다음과 같은 상황에서 유래된 문제입니다:문제 설명한 그룹의 사람들이 원형으로 앉아 있고, 특정 번호를 가진 사람부터 시작해, 지정된 숫자에 따라 하나씩 건너뛰며 사람을 제거합니다. 이 과정을 마지막 한 명이 남을 때까지 반복합니다. 이 과정에서 제거되는 사람들의 순서를 요세푸스 순열이라고 합니다.예시예를 들어, 7명의 사람이 있고, 3번째 사람마다 제거된다고 합시다. 순열은 다음과 같이 진행됩니다:초기 상태: 1, 2, 3, 4, 5, 6, 7첫 번째 제거: 3 -> 남은 사람: 1, 2, 4, 5, 6, 7두 번째 제거: 6 -> 남은 사람: 1, 2, 4, 5, 7세 번째 제거: 2 -> 남은 사람: 1, 4, 5, 7네 번째 ..