(Python) 프로그래머스 - 퍼즐 게임 챌린지
·
코딩 테스트
프로그래머스에 새로운 문제가 올라왔길래 오랜만에 풀어보았다.최초에는 완전탐색으로 접근하면 시간초과가 나는걸 알면서도 다른 로직이 안떠올라서 일단 완전탐색으로 구현하고이진탐색으로 수정해서 풀이에 성공했다. 로직배열의 크기가 300,000 이므로 완전 탐색으로 접근하면 100% 시간 초과가 난다.여기서 이진 탐색을 떠올려야 하는데, level의 최댓값이 diffs 요소중 가장 큰 값이라는걸 캐치해서 풀어야 한다.그러므로 1 level의 최솟값 이진탐색으로 level의 값들을 cal 함수에 넣어주면서 탐색하면 최종적으로 level의 최솟값이 나오게 된다. cal 함수에서는 제한시간을 넘으면 탐색을 중지하고 False를 반환하고, 제한시간안에 모든 탐색을 끝냈다면 True를 반환한다. cal 함수의 반환 결과에..