728x90

해당 문제를 보고 저번에 풀었던 프로그래머스 lv1 3진법 뒤집기 문제와 많이 유사하다고 생각했다.
먼저 n이라는 정수를 k진수로 변환하는 과정이 필요했다.
그래서
var mok = n
var kjinbubList = mutableListOf<Int>()
while(mok != 0){
kjinbubList.add(mok % k)
mok /= k
}
val resultList = kjinbubList.reversed().joinToString("") //211020101011
==>이런 방식으로 변환을 시켰다.
이제 변환된 숫자를 순회하며 연속된 소수를 찾는 과정이 필요했다.
var startIndex = 0
var endIndex = 0
while(endIndex < resultList.length){
//연속된 0의 갯수를 센다 갯수를세다가 0이 아닌 숫자를 만나면 빠져나가서 startIndex 설정
while(endIndex < resultList.length && resultList[endIndex] == '0'){
endIndex++
}
//0의 갯수를 세다가 0이 아닌 숫자를 만난경우
startIndex = endIndex
}
결과적으로 답은


코드를 실행했을때는 잘 돌아가는데 제출 후 채점만 안된다 ㅎㄷㄷ
그래서 다시 풀어봐야겠다.
728x90
'TIL > kotlin 알고리즘' 카테고리의 다른 글
| kotlin 프로그래머스 lv2 모음사전 (0) | 2024.03.19 |
|---|---|
| kotlin 프로그래머스 lv2 2022 KAKAO BLIND RECRUITMENT주차 요금 계산 (0) | 2024.03.18 |
| kotlin 프로그래머스 lv2 타겟넘버 (0) | 2024.03.15 |
| kotlin 프로그래머스 lv2 피로도 (0) | 2024.03.14 |
| kotlin 프로그래머스 lv2 프로세스 (0) | 2024.03.14 |