알고리즘/프로그래머스 [프로그래머스] 탑 최성훈 2019. 11. 10. 22:54 반응형 문제 보기 풀이풀이 이 문제는 스택/큐 문제이다. 문제를 푼 로직은 다음과 같다. 모든 탑은 왼쪽으로 레이저 신호를 발사하므로, 각 탑에 대해서 왼쪽에 위치한 모든 탑에 대해 탐색을 진행한다. (4~7번째 줄) 만약 현재 탑에서 왼쪽에 위치한 탑들 중에 높이가 높은 탑이 있다면, 그 탑의 위치를 기록한다. (8~11번째 줄) 만약 왼쪽에 위치한 탑들 중에 높이가 높은 탑이 없다면 0을 기록한다. (12~14번째 줄) 풀이 코드코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 def solution(heights): answer = [] for i, height in enumerate(heights): found = False # for all front towers from the nearest tower for j in range(i - 1, -1, -1): if heights[j] > height: answer.append(j + 1) found = True break # if there's no higher tower if not found: answer.append(0) return answer Colored by Color Scripter cs 코드 반응형 저작자표시 (새창열림)