1부터 N까지 중복되지 않도록 나열된 수열에서 연속된 K개의 수들을 모아 그 중 가장 작은 숫자로 K개의 숫자가 바뀌고, N개의 수열이 모두 같은 수가 될때 K개의 모음을 최소 몇 번 수행해야 하는가.
예시) N = 4, K = 3
[1, 2, 3, 4] -> [1, 1, 1, 4]
[1, 1, 1, 4] -> [1, 1, 1, 1]
결과 : 최소 2회 수행
<?php
$input_nk = fgets(STDIN); //N과 K를 공백으로 구분하고 한 줄로 받음
$input_arr = fgets(STDIN); //문제 입력 양식에 따라 값을 받긴 하지만 사용하진 않았음
$nk = explode(' ', $input_nk);
$n = $nk[0];
$k = $nk[1];
$idx = 0; //수열의 인덱스 탐색
$cnt = 0; //횟수
while(1) {
if ($idx >= $n-1) { //수열의 인덱스가 N-1이 될때까지
return print($cnt);
}
$idx += $k - 1; //인덱스 탐색
$cnt++;
}
?>
'IT지식 > 개발' 카테고리의 다른 글
[구름레벨] 사은품 교환하기 PHP (0) | 2020.08.27 |
---|---|
[구름레벨] 문제선정하기 PHP (0) | 2020.08.17 |
[Ubuntu] Apache2 웹서버 Document root 디렉토리 변경하기 (1) | 2020.07.11 |
무료 웹서버. 구름 IDE 시작하기. PHP/Mysql (0) | 2020.07.07 |
[MySql] TINYINT (0) | 2020.05.20 |