-
[Algorithm] 프로그래머스 Lv2 주식가격 (42584)Etc./Algorithm 2021. 2. 23. 12:59
안녕하세요 rosepurple입니다. :)
오늘 푼 알고리즘 문제 풀이를 작성해보도록 하겠습니다!
문제
오늘은 아래 문제를 풀어봤습니다. (약 10분 소요)
programmers.co.kr/learn/courses/30/lessons/42584
풀이
문제를 그냥 한 번 읽어봤을 때는 무슨 소린지 이해가 안 가더라고요... (주식을 안 해서 그런가요..?)
단순하게 생각해서, 처음 나온 주식 가격이 이후에 그 가격보다 적게 내려가지 않으면 초를 추가해주었습니다.
int[] answer = new int[prices.length];
정답은 항상 주식 가격들 길이만큼 리턴할 것이므로 위와 같이 초기화해줍니다.
for (int i = 0; i < prices.length; i++) { for (int j = i + 1; j < prices.length; j++) { answer[i]++; if (prices[i] > prices[j]) break; } }
그 이후로는 현재 주식 가격과 이후의 주식 가격을 비교해서 answer에 해당 주식 가격의 시간을 1초씩 늘려줍니다.
만약 현재 가격보다 내려간다면 시간을 늘이던 것을 멈추고 다음 가격으로 넘어가는 방식입니다.
전체 코드
class Solution { public int[] solution(int[] prices) { int[] answer = new int[prices.length]; for (int i = 0; i < prices.length; i++) { for (int j = i + 1; j < prices.length; j++) { answer[i]++; if (prices[i] > prices[j]) break; } } return answer; } }
마무리
매일 알고리즘 푼다고 하고 잠깐 포스팅이 없어서 의아해하셨나요?
주말부터 제가 개인 사정으로 정신이 없어서 알고리즘을 풀지도 못해 포스팅을 못 올렸습니다 ㅠㅠ
저는 이번 학기가 막학기 학생인데요.
3월 7일에 보는 정처기 필기도 참여할 예정이라서 이래저래 정신이 없는 하루하루를 보내고 있습니다.
무기력했던 지난달보다는 훨씬 나아진 것이라고 혼자 생각하고 있습니다.
읽어주신 분들 모두 코로나 조심하시고요!
이번 포스팅도 읽어주셔서 감사합니다. :)
'Etc. > Algorithm' 카테고리의 다른 글
[Algorithm] 프로그래머스 Lv2 다리를 지나는 트럭 (0) 2021.03.09 [Algorithm] 프로그래머스 Lv2 큰 수 만들기 (0) 2021.02.24 [Algorithm] 프로그래머스 Lv2 기능개발 (42586) (0) 2021.02.19 [Algorithm] 프로그래머스 Lv2 조이스틱 (42860) (0) 2021.02.19 [Algorithm] 프로그래머스 Lv2 프린터 (42587) (0) 2021.02.17