프로그래밍/코딩테스트 문제풀이
[Python] 백준 17406. 배열 돌리기 4
inspirit941
2020. 2. 18. 15:38
반응형
https://www.acmicpc.net/problem/17406
17406번: 배열 돌리기 4
크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 값은 4이다. 1 2 3 2 1 1 4 5 6 배열은 회전 연산을 수행할 수 있다. 회전 연산은 세 정수 (r, c, s)로 이루어져 있고, 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s, c+s)인 정사각형을 시계
www.acmicpc.net
Brute Force + Deque 활용한 배열 회전으로 풀 수 있는 문제.
1.
제한사항에서 K가 최대 6이므로, 경우의 수는 6! = 720개다.
회전 연산의 개수 K에서 만들 수 있는 모든 경우의 수는 permutations 함수를 써서 구할 수 있다.
2.
각각의 경우의 수마다 값이 주어지면, 해당 값을 기준으로 배열을 회전한다.
3. 결과가 끝나면, 최솟값을 업데이트한다.
반응형