hye-log

[구름]근묵자흑(Python) 본문

CodingTest/Goorm

[구름]근묵자흑(Python)

iihye_ 2022. 10. 24. 02:24

0. 문제 링크

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

 

1. 문제 설명

1) 연속적으로 정수를 뽑아서 같은 수로 만들기

 

2. 입출력

# input
4 3

# output
2 3 1 4

 

3. 코드

# input
n, k = map(int, input().split())
arr = list(map(int, input().split()))
answer = n

# find min
idx = arr.index(min(arr))
for i in range(k):
	cnt = 1
	left = arr[:idx-i]
	right = arr[idx+k-i:]
	left_cnt = len(left) // (k-1) + (1 if len(left) % (k-1) else 0)
	right_cnt = len(right) // (k-1) + (1 if len(right) % (k-1) else 0)
	answer = min(answer, cnt + left_cnt + right_cnt)

# output
print(answer)

 

실행 결과

 

4. 회고

주어진 수열에서 가장 작은 수의 인덱스를 찾는다. 연속적으로 골라야 하는 정수의 개수인 k번만큼 반복문을 반복하게 되는데, 만약 k가 3이면, 가장 작은 수를 기준으로 [x, o, o], [o, x, o], [o, o, x] 3가지 경우가 있기 때문에 k번만큼 반복문을 반복하게 된다. k를 기준으로 왼쪽 배열과 오른쪽 배열로 나누어서 각각 몇 번만에 같은 수로 만들 수 있는지 계산한다.

 

5. Github

https://github.com/iihye/Algorithm/blob/main/Goorm/blackening_number.py

 

GitHub - iihye/Algorithm

Contribute to iihye/Algorithm development by creating an account on GitHub.

github.com

 

728x90
Comments