2019 카카오 개발자 겨울 인턴십 문제풀이 -징검다리 건너기- (실패)

김성준·2021년 4월 23일
0

알고리즘

목록 보기
1/6
def solution(stones, k):
    answer = 0
    br = 0
    i = 0
    if len(stones) == k:
        return max(stones)
    while br != k:
        if stones[i] != 0:
            stones[i] = stones[i] - 1
            i += 1
        elif stones[i] == 0:
            j = i
            br = 0
            while stones[j] == 0 and j < len(stones) - 1:
                j += 1
                br += 1
            i += 1
        if i == len(stones):
            answer += 1
            i = 0
    return answer

주어진 stones 배열의 값을 하나씩 줄이면서 0을 발견하면 그 뒤의 값도 0인지 확인한 후에 이어진 0의 값을 세서 k와 같으면 반복문을 탈출하는 방식으로 구현했다.

결과는 망,,,,

애초에 효율성에선 걸릴거라고 생각했지만, 정확도에서도 테스트 케이스 하나를 결국 못뚫었다 ㅠㅠ
못뚫은 이유가 뭔지 찾으면 속이라도 시원할텐데 아직 뭐 때문인지 감도 잡히지 않는다.
내일 이분탐색을 공부해서 다시 풀어봐야지...

오늘의 다짐: 탐색범위가 커진다면 하나하나 탐색하는 방법은 지양하자! 더 적합한 알고리즘을 적용하는 스킬을 쌓자ㅠㅠ

profile
수신제가치국평천하

0개의 댓글