[1. 문제설명]
연산1: 첫번째 원소를 제거한다.
연산2: 첫번째 원소를 왼쪽으로 한칸 이동
연산3: 마지막 원소를 오른쪽으로 한칸 이동
큐에 처음 포함되어 있던 수가 N 개,
뽑고자 하는 원소의 위치가 입력으로 주어 질 때,
원소를 주어진 순서대로 뽑아내는데 필요 한,
2번, 3번 연산의 최소 값을 출력
[2. 풀이 접근]
- 완전 탐색
=> deque 에 첫번째 원소가 찾고자 하는 원소인 경우, 연산 1 수행 후, 다음 재귀 호출
=> 위 경우가 아닌 경우, 연산 2 수행 후 기존 deque 복원 후, 연산 3 수행
==> 문제점, 무한 루프 발생
==
==> 2번 연산 수행 후 재귀 호출 시 연산 3을 수행 할 경우, 원래 상태로 복원 되버림
==> 일종의 cycle 이 발생 함. - 완전 탐색 Cycle 수정 버전
=> 연산 1을 수행 할 수 없을 경우, 현재 연산에 근거하여 다음 연산을 선택
=> 연산 1 또는 연산 2 인 경우 연산 2 수행 후 재귀 호출의 결과를 a+=1 에 저장
=> 연산 1 또는 연산 3 인 경우 연산 3 수행 후 재귀 호출의 결과를 b+=1 에 저장
=> a 와 b 의 최소값을 선택 후 반환
==> 문제점, 예제 입력 중 답이 8인 케이스에서 최소 값이 2를 넘기는 경우가 없었음.
==
==> 연산 수행 여부와 상관 없이 a 와 b 가 모두 0으로 선 초기화 후 결과를 업데이트 함.
==> 연산 2 수행 후 연산 3은 수행 할 수 없으므로, 이 경우 b 는 무조건 0
==> 따라서 최소 값이 0 으로 반환 되는 경우가 많음 - 2번 완전탐색 에서 최소값 수정 버전
=> 각 연산을 수행 하기 전, a 와 b는 모두 math,MaxInt 로 초기화
=> 실제 연산 이 수행했을 때만 a 또는 b 를 0으로 초기화 후, 결과를 설정
==> 문제점, timeout
==> 전수조사 방식으로는 시간 내 풀이 불가
==> 작성해야함................
완전탐색 풀이 시,
- 2번 연산
|- 3번 연산
은 사이클이 되버리므로, 무한루프를 유발함
분기 에 따른 값
최소, 혹은 최대 값 선별 시
주의할 점
'알고리즘 > Baekjoon' 카테고리의 다른 글
[1780]. 종이의 개수 (0) | 2022.08.25 |
---|---|
[2630]. 색종이 만들기 (0) | 2022.08.24 |
[1316] 그룹 단어 체커 (0) | 2022.02.05 |
[2941] 크로아티아 알파벳 (0) | 2022.02.05 |
[1157] 단어 공부 (0) | 2022.02.05 |