728x90
문제 설명
초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.
제한 사항
- prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
- prices의 길이는 2 이상 100,000 이하입니다.
[풀이]
오 이 문제 진짜 간단해
라고 하기엔 한번 대차게 틀림ㅋㅋㅋㅋㅋㅋㅋ
문제 이해를 대충하고 풀었다가 깜짝놀랐네,,,
알고리즘은 간단하다
그냥 반복문 돌면서 지금 원소보다 다음 원소가 작으면 가격이 떨어진거니까 그 전까지 몇번의 원소가 있었는지 구하기만 하면 된다
그래서 걍 개수 세다가 다음 원소가 더 작으면 반복문 탈출하는 식으로 했고, 중첩 반복문 써서 구현함!
파이썬 코드)
def solution(prices):
answer = []
for i in range(len(prices)):
count = 0
for j in range(i+1, len(prices)):
count += 1
if prices[i]>prices[j]:
break
answer.append(count)
return answer
쉽쥬?
C++ 코드)
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> prices) {
vector<int> answer;
int count;
for(int i=0;i<prices.size();i++)
{
count = 0;
for(int j=i+1;j<prices.size();j++)
{
count++;
if(prices[i]>prices[j]) break;
}
answer.push_back(count);
}
return answer;
}
스택, 큐 문젠데 스택 큐 안쓰고 풀기~
근데 이렇게 푸는게 훨씬 간단해서 그냥 풀어도 될듯??
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[힙(Heap)] Level 2 더 맵게 (0) | 2022.01.07 |
---|---|
[스택/큐] Level 2 다리를 지나는 트럭 - Python (0) | 2022.01.06 |
[스택/큐] Level 2 프린터 (0) | 2022.01.03 |
[스택/큐] Level 2 기능개발 (0) | 2022.01.02 |
[탐욕법(Greedy)] Level 1 체육복 - 파이썬 (0) | 2021.12.28 |
댓글