공부하고 기록하는, 경제학과 출신 개발자의 노트

프로그래밍/코딩테스트 문제풀이

[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. 결과가 끝나면, 최솟값을 업데이트한다.

 

 

반응형