728x90
반응형
SMALL

codingtest 2

[Python] 더 맵게

✏️ 문제 문제 파악scoville 길이가 최대 1,000,000이기 때문에 배열을 반복문을 통해 돌면 당연히 시간복잡도에서 걸린다.  이때 이 문제는 힙을 사용하면 좋은데 이유는 최소값이나 최대값을 효율적으로 빠르게 추출해야 하고 힙 속성 덕분에 힙에 넣으면 자동으로 정렬이 되기 때문이다.배열은 특정 값을 찾을 때 최악의 경우 O(n)이라는 시간이 소요되고, 계속해서 정렬을 해줘야하는 반면힙은 최소값이나 최대값을 찾을 때 O(1)이라는 시간이 소요된다.  그래서 이러한 힙을 활용해서 문제를 풀면 쉽게 풀 수 있다.   코드import heapqdef solution(scoville, K): heapq.heapify(scoville) answer = 0 while len(scovi..

[Python] 뒤에 있는 큰 수 찾기

✏️ 문제 문제 파악처음엔 이중 for 반복문 사용했다가 numbers 길이가 1,000,000 까지라 시간복잡도에서 무조건 걸릴거라 예상했다..그래서 배열을 한바퀴 돌되 그 전에 있던 값들도 비교를 하려면 stack에 넣어서 안의 값을 계속 비교하며 처리해야 할 것 같아 stack을 사용했다. 아직 stack을 잘 사용할 줄 모르는 거 같아서 큰일이다.. ㅠ유사한 문제로는 주식가격이 있다. 코드실패 코드def solution(numbers): answer = [] for i in range(len(numbers)-1): for j in range(i+1, len(numbers)): if numbers[i] 성공 코드def solution(number..

728x90
반응형
LIST