코딩테스트

[프로그래머스 42584] 주식가격 / C++

bemaru 2021. 5. 1. 01:35
반응형

programmers.co.kr/learn/courses/30/lessons/42584

 

코딩테스트 연습 - 주식가격

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

programmers.co.kr

문제 설명

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

제한사항

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

입출력 예

pricesreturn

[1, 2, 3, 2, 3] [4, 3, 1, 1, 0]


입출력 예 설명

  • 1초 시점의 ₩1은 끝까지 가격이 떨어지지 않았습니다.
  • 2초 시점의 ₩2은 끝까지 가격이 떨어지지 않았습니다.
  • 3초 시점의 ₩3은 1초뒤에 가격이 떨어집니다. 따라서 1초간 가격이 떨어지지 않은 것으로 봅니다.
  • 4초 시점의 ₩2은 1초간 가격이 떨어지지 않았습니다.
  • 5초 시점의 ₩3은 0초간 가격이 떨어지지 않았습니다.

첫시도

- 문제를 잘못 이해ㅎ마

- 전체 중에 시작 가격보다 크거나 같은 기간의 총합을 구하는것이라 생각해서 break를 쓰지 않았음..

- \3 -> \2 이 될때 \2이 될때까지 1초가 걸리므로 1초 뒤에 가격이 떨어진것이라

- 결국, 1초 동안은 가격이 떨어지지 않은 것이다. (헷갈리는 포인트..)

#include <string>
#include <vector>

using namespace std;

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++) 
		{
			if (prices[i] <= prices[j]) 
			{
				cnt++;
			}
		}
		answer.emplace_back(cnt);
	}

	return answer;
}

두번째 ( 통과 )

- 결국 마지막 값을 제외하곤 모든 값은 무조건 1초동안은 떨어지지 않게 되므로 cnt++을 먼저 하고

- 떨어지는 경우 break 한다.

 

#include <string>
#include <vector>

using namespace std;

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.emplace_back(cnt);
	}

	return answer;
}

세번째 

- stack 사용하는 방식은 다른 블로그 참고해봄

- 떨어진것들을 구하는 순서가 회문을 연상하게함..

 

mungto.tistory.com/6

 

주식가격 문제풀이(C++, 스택/큐)[프로그래머스]

안녕하세요 멍청한 토끼입니다. 이번 문제는 프로그래머스의 스택/큐 Lv2에 해당하는 주식가격 문제 입니다. 포스팅을 시작하겠습니다. ※ 저의 풀이가 무조건적인 정답은 아닙니다. 다른 코드

mungto.tistory.com

cau-meng2.tistory.com/4

 

[C++ ] 프로그래머스 45284번 주식가격

프로그래머스 45284번 주식가격 - Stack and Queue - Level 2 https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수..

cau-meng2.tistory.com

 

 

반응형