알고리즘 문제 풀이: 파이썬/Programmers

[프로그래머스] 주식가격

hueco 2021. 10. 3.

 

문제 링크: https://programmers.co.kr/learn/courses/30/lessons/42584

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

내 풀이:

 

참고용 풀이:

 

Review:

 참고용 풀이로 프로그래머스에서 두 번째로 많은 '좋아요'를 받은 풀이를 가져왔다. 첫 번째로 많은 '좋아요'를 받은 풀이는 효율성에서 내 풀이보다 오랜 시간이 걸려서 제외했다. 문제의 입력값이 배열로 주어져서 list로 풀어야겠다는 생각만 해서 deque로 바꾸는 것은 생각을 못 했다. 이 문제가 프로그래머스가 아닌 백준 문제였다면 입력 처리도 해야하기 때문에 deque로 풀이했을 것 같다. 또, 문제 풀이의 접근법이 나랑 매우 달라서 다른 사람의 풀이를 보고 느끼는 게 많았다.

 

Idea:

 1. prices 배열의 원소를 for 반복문을 통해 읽는다.

 2. 해당 원소의 뒤의 원소 중에서 해당 원소보다 작은 값이 있는지 Check.

    작은 값이 있으면, 가장 첫 번째로 해당 원소보다 작은 값이 나오는 인덱스와의 간격을 결과 배열 answer에 append.

    작은 값이 없으면, max_second(배열의 길이 - 1)의 값을 결과 배열 answer에 append.

      바깥 for 반복문의 다음 원소를 읽기 전에 max_second의 값을 -1.

 

댓글