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

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

[Python] 구름. 근묵자흑

inspirit941 2020. 4. 24. 16:03
반응형

https://level.goorm.io/exam/47881/%EA%B7%BC%EB%AC%B5%EC%9E%90%ED%9D%91/quiz/1

 

구름LEVEL

코딩테스트에서 가장 높은 비중을 차지하는 알고리즘 문제를 제작하고 풀이할 수 있는 온라인 저지 서비스입니다. 기업에서 선호하는 C, C++, 파이썬(Python), 자바(Java), 자바스크립트(Javascript) 이외에 여러 가지 프로그래밍 언어로 풀이할 수 있습니다.

level.goorm.io

첫 번째 변환을 하는 장소가 어디인지에 따라 결과값이 달라진다.

문제 예시의 경우, [2,3,1]을 고를 수도 있고 [3,1,4]를 고를 수도 있으며, 배열이 길어지면 이 선택에 따라 변환 횟수가 달라질 수 있음.

 

1. 배열에서 가장 작은 숫자의 index를 찾는다.

2. 해당 index를 포함한 채 고를 수 있는 배열의 start지점 / end지점을 분리한다.

3. k개 중 하나는 반드시 '가장 작은 숫자'이므로, k-1로 나눈 몫과 나머지를 구한다. 나머지가 0이 아닐 경우, 변환을 한 번 더 해줘야 한다.

4. 모든 배열 경우의 수마다 반환되는 횟수 중 최솟값을 찾는다.

 

 

반응형