PS/Python
[SWEA_Python] 4613. 러시아 국기 같은 깃발
러시아 국기는 세 가지의 색으로 구성되어 있고, 맨 위와 맨 아래는 고정이다. 세 부분으로 나누어 가장 적은 노동으로 각각의 색으로 칠하는 문제인 것이다. 국기의 구분선을 이리저리 '조합' 해 가면서 최소의 변환값을 찾으면 된다. 즉, 순열 or 조합을 사용하면 된다. 그리고 전체를 탐색하는 반복문으로도 풀 수 있다. Permutation (순열) 을 사용한 풀이 순열 DFS를 재귀로 돌리면서 index들의 중간합을 체크하는 방식을 사용한다. 이 풀이에서 selected에 저장되는 값은 세 부분으로 나뉘어진 행의 수이다. 따라서 selected의 총합이 N(데이터의 행의 수)와 같을 때 변환값을 탐색, 갱신한다. def perm(idx, cur_sum): global res # 중간합이 주어진 N보다 커..
2021. 3. 6. 16:28
최근댓글