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

HyeRyun·2020년 7월 2일
0

프로그래머스

목록 보기
9/22
post-thumbnail

✔️ 문제

초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요.

제한사항

  • prices의 각 가격은 1 이상 10,000 이하인 자연수입니다.
  • prices의 길이는 2 이상 100,000 이하입니다.

😎 소스 코드

vector<int> solution(vector<int> prices) {
  vector<int> answer;
  for (int i = 0; i < prices.size(); i++) {
    int cnt = 0;
    for (int j = i + 1; j < prices.size(); j++) {
      cnt++;
      if (prices[i] > prices[j]){
        break;
      }
    }
    answer.push_back(cnt);
  }
  return answer;
}

✊ 문제를 풀고 나서

프로그래머스는 문제 설명에 좀 더 신경을 쓸 필요가 있다고 생각한다. 매 번 문제 지문이 모호해서 <질문하기>에 들어가면 나같은 사람들이 수두룩하다는 것을 알 수 있기 때문이다.

이 문제는 스택/큐 카테고리에 분류되어 있는데 굳이 스택/큐를 써야되는지는 모르겠다. 문제 접근은 이중 for를 돌면서 현재 원소보다 작은 숫자가 나오면(= 주식 가격이 떨어졌음을 의미) break해준다. 그 외의 경우는 계속 cnt++ 해주고 그 값을 answer에 푸시한다. 이 과정을 반복하면 어느새 for문은 끝이 난다! ㅎㅎ

코딩보다 문제 파악에 더 오랜 시간이 걸린 문제였다.

profile
개발개발

0개의 댓글