본문 바로가기

알고리즘/Baekjoon

분할 정복. [24060]

[1. 문제 설명]

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


[2. 풀이 접근]

병합 정렬 구현 시 헷갈리는 부분 정리...

  1. 병합 정렬 구현 시 재귀를 사용하는데, 재귀의 탈출 조건
  2. 병합 정렬 시, 전체 구간을 어떻게 정의 할 것인가?
    => 배열의 길이가 N 일 때
    => [0, N) 으로 범위를 잡지말고, 
    => [0, N-1] 로 그 범위를 잡아야 함.
    => 동일한 표현이긴 한데, if, while 에서 등호 여부에 따라 답이 갈릴 수 있으므로,
    => 한가지 패턴으로 정의하는 것이 좋다.
    ==> ex) [0, N-1] 이면 분할 시 while (left <= right)
    ==> N-1 까지 사용가능하므로, 등호 성립이 필요함.

[3. 코드]

 

'알고리즘 > Baekjoon' 카테고리의 다른 글

최단경로. [2458]  (0) 2022.12.25
벨만-포드. [1865]  (0) 2022.12.24
최단 경로. [1238]  (0) 2022.12.23
유니온 파인드. [1043]  (0) 2022.12.22
이분탐색. [1939]  (0) 2022.12.22