[ํ๋ก๊ทธ๋๋จธ์ค / C++] ์ฃผ์๊ฐ๊ฒฉ ํ์ด
๋ฌธ์
<๋ฌธ์ ์ค๋ช >
์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์ ๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
<์ ํ์ฌํญ>
- prices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,000 ์ดํ์ธ ์์ฐ์์ ๋๋ค.
- prices์ ๊ธธ์ด๋ 2 ์ด์ 100,000 ์ดํ์ ๋๋ค.
<์ ์ถ๋ ฅ ์>
prices | return |
[1, 2, 3, 2, 3] | [4, 3, 1, 1, 0] |
https://programmers.co.kr/learn/courses/30/lessons/42584
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์ฃผ์๊ฐ๊ฒฉ
์ด ๋จ์๋ก ๊ธฐ๋ก๋ ์ฃผ์๊ฐ๊ฒฉ์ด ๋ด๊ธด ๋ฐฐ์ด prices๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๊ฐ๊ฒฉ์ด ๋จ์ด์ง์ง ์์ ๊ธฐ๊ฐ์ ๋ช ์ด์ธ์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์. ์ ํ์ฌํญ prices์ ๊ฐ ๊ฐ๊ฒฉ์ 1 ์ด์ 10,00
programmers.co.kr
๋ฌธ์ ํ์ด
๊ฐ๋จํ๊ฒ prices์ ์ฒซ๋ฒ์งธ ์์๋ถํฐ ๋ง์ง๋ง ๋ฐ๋ก ์ ์์๊น์ง ๊ฐ๊ฒฉ์ด ํ๋ฝํ๋์ง ๋ชจ๋ ํ์ธํ๋ ๋ฐฉ๋ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํ์์ต๋๋ค. prices์ ๋ง์ง๋ง ์์๋ ์ด์ฐจํผ ๋ต์ด 0์ด๊ณ , ์ด๋ฅผ ์ฐธ์กฐํ ๊ฒฝ์ฐ ์ธ๋ฑ์ค j๊ฐ ๋ฒ์๋ฅผ ๋ฒ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ฒฝ์ฐ์ ๋ฃ์ง ์์์ต๋๋ค.
1. answer๋ฅผ prices์ ํฌ๊ธฐ๋งํผ 0์ผ๋ก ์ด๊ธฐํํ๋ค.
2. prices์ ๊ฐ ์์์ ๋ํด, ์ฃผ์ ๊ฐ๊ฒฉ์ด ํ๋ฝํ์ง ์์ ๊ฒฝ์ฐ answer์ 1์ ๋ํ๋ค.
์์ค์ฝ๋
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
// ์ฃผ์๊ฐ๊ฒฉ
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> prices) {
vector<int> answer(prices.size(), 0);
for (int i = 0; i < prices.size() - 1; i++) {
for (int j = i + 1; j < prices.size(); j++) {
answer[i]++;
// ์ฃผ์๊ฐ๊ฒฉ์ด ํ๋ฝํ ๊ฒฝ์ฐ
if (prices[i] > prices[j])
break;
}
}
return answer;
}
|
cs |


๊ณต๋ถํ ๊ฒ์ ์ ๋ฆฌํ ๋ด์ฉ์ ๋๋ค. ์์ ํ ๋ถ๋ถ์ด ์๋ค๋ฉด ์๋ ค์ฃผ์๋ฉด ๊ฐ์ฌํ๊ฒ ์ต๋๋ค :)