https://school.programmers.co.kr/learn/courses/30/lessons/42883?language=cpp
๋ค์ํ์ด๋ณด๊ธฐ ์๋ฆฌ์ฆ....
3๋ ์ ์ ์ด์ฐ์ ์ฐ ํ์๋ ๋ฌธ์ ์ธ๋ฐ
๋๋์ฒด ์ด๋ป๊ฒ ํ์๋๊ฑด์ง ๊ธฐ์ต์ด ์ ๋จ. ๋๋ฌด ์ด๋ ต๊ฒ ํ์๋๋ฐ ์ ์ด๋ฌ์๊น..?
https://xxilliant.tistory.com/103
[C++/PGS] Lv.2 : ํฐ ์ ๋ง๋ค๊ธฐ (GREEDY)
https://school.programmers.co.kr/learn/courses/30/lessons/42883 ๋ฌธ์ ์ค๋ช ์ด๋ค ์ซ์์์ k๊ฐ์ ์๋ฅผ ์ ๊ฑฐํ์ ๋ ์ป์ ์ ์๋ ๊ฐ์ฅ ํฐ ์ซ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, ์ซ์ 1924์์ ์ ๋ ๊ฐ๋ฅผ ์ ๊ฑฐํ๋ฉด [19,
xxilliant.tistory.com
์ด๋ฒ์๋ ๊ฐ์ฅ ์ ์ ๋ฐฉ๋ฒ์ธ ์คํ์ผ๋ก ํด๊ฒฐํ๋ค.
Stack์ ๋ฃ์ผ๋ ค๋ ์ซ์๋ฅผ ๊ธฐ์กด stack์ ์๋ ์ซ์๋ค๊ณผ ๋น๊ตํ๋ ๋ก์ง์ด๋ค!
๊ทธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ ๋ ์ด๋ ต๋ค ใ ,ใ
๋์ ํ์ด
#include <string>
#include <vector>
#include <stack>
#include <algorithm>
using namespace std;
string solution(string number, int k) {
string answer = "";
stack<char> st;
st.push(number[0]);
int cnt = 0; // ์ ๊ฑฐํ๋ ์ซ์๋ฅผ k๊ฐ๊น์ง ์นด์ดํธ
for(int i = 1; i < number.length(); ++i){
while(cnt<k && !st.empty() && st.top()<number[i]){
st.pop();
cnt++;
}
st.push(number[i]);
}
while(cnt<k && !st.empty()){
st.pop();
cnt++;
}
while(!st.empty()) {
char a = st.top();
answer += a;
st.pop();
}
reverse(answer.begin(), answer.end());
return answer;
}

'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Javascript/PGS] Lv.3 : ๋ฒ ์คํธ์จ๋ฒ(ํด์) - retry (0) | 2026.04.15 |
|---|---|
| [Javascript/PGS] Lv.3 : ๋ฌธ์์ด ์์ถ (2020 KAKAO) - retry (0) | 2026.04.08 |
| [C++/PGS] Lv.3 : ๋ฌธ์์ด ์์ถ (2020 KAKAO) (0) | 2026.04.08 |
| [Javascript/PGS] Lv.2 : ์ฃผ์๊ฐ๊ฒฉ (๋ค์ ํ์ด๋ณด๊ธฐ) (0) | 2026.04.08 |
| [C++/PGS] Lv.3 : ๊ธธ ์ฐพ๊ธฐ ๊ฒ์(dfs) (0) | 2026.04.04 |