문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42584
내 풀이:
참고용 풀이:
Review:
참고용 풀이로 프로그래머스에서 두 번째로 많은 '좋아요'를 받은 풀이를 가져왔다. 첫 번째로 많은 '좋아요'를 받은 풀이는 효율성에서 내 풀이보다 오랜 시간이 걸려서 제외했다. 문제의 입력값이 배열로 주어져서 list로 풀어야겠다는 생각만 해서 deque로 바꾸는 것은 생각을 못 했다. 이 문제가 프로그래머스가 아닌 백준 문제였다면 입력 처리도 해야하기 때문에 deque로 풀이했을 것 같다. 또, 문제 풀이의 접근법이 나랑 매우 달라서 다른 사람의 풀이를 보고 느끼는 게 많았다.
Idea:
1. prices 배열의 원소를 for 반복문을 통해 읽는다.
2. 해당 원소의 뒤의 원소 중에서 해당 원소보다 작은 값이 있는지 Check.
작은 값이 있으면, 가장 첫 번째로 해당 원소보다 작은 값이 나오는 인덱스와의 간격을 결과 배열 answer에 append.
작은 값이 없으면, max_second(배열의 길이 - 1)의 값을 결과 배열 answer에 append.
바깥 for 반복문의 다음 원소를 읽기 전에 max_second의 값을 -1.
'알고리즘 문제 풀이: 파이썬 > Programmers' 카테고리의 다른 글
[프로그래머스] 짝지어 제거하기 (0) | 2021.10.08 |
---|---|
[프로그래머스] 괄호 회전하기 (0) | 2021.10.07 |
[프로그래머스] 실패율 (0) | 2021.09.20 |
[프로그래머스] 이상한 문자 만들기 (0) | 2021.09.03 |
[프로그래머스] 부족한 금액 계산하기 (0) | 2021.08.03 |
댓글