상세 컨텐츠

본문 제목

[Level2.] 주식가격 C++

C++/Programmers

by J2on 2023. 7. 12. 22:56

본문

문제

https://school.programmers.co.kr/learn/courses/30/lessons/42584

 

프로그래머스

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

programmers.co.kr

풀이

 

사실 좀 놀랐던 것은... 이 정도 문제가 레벨2라고...?

 

백준은 난이도가 세분화되어있어서 난이도 파악이 쉬웠는데,

프로그래머스는 조금 큰 단위로 자르다보니 난이도가 같아도 실제 느끼는 난이도는 천차만별인것 같네요.

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> prices) {
    vector<int> answer;
    
    for(int i=0; i<prices.size()-1; i++){
        answer.push_back(0);
        for(int j=i+1; j<prices.size(); j++){
            if(prices[i] <= prices[j]){
                answer[i]++;
            }
            else{
                answer[i]++; // 끊기더라도 1초는 버틴것으로 인정
                break;
            }
        }
    }
    answer.push_back(0); //마지막 요소의 시간은 0
    return answer;
}

O(n^2)으로 해결했습니다.

 

사실 더  효율적인 방법이 가능해보이네요.

'C++ > Programmers' 카테고리의 다른 글

[Level2.] 구명보트 C++  (0) 2024.02.04
[Level1.] 개인정보 수집 유효기간 C++  (0) 2024.02.03
[Level2.] 올바른 괄호 C++  (0) 2023.07.11
[Level2.] 기능개발 C++  (0) 2023.07.11
[Level1.] 같은 숫자는 싫어 C++  (0) 2023.07.11

관련글 더보기

댓글 영역