https://school.programmers.co.kr/learn/courses/30/lessons/64065?language=cpp
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 2.
์ฌ์ค ์ฒ์์๋ ๋จ์ํ Set ์๋ฃํ ํ์ฉํ๋ ๋ฌธ์ ์ธ ์ค ์์์ผ๋, ํจ์ ์ด์๋ค.
๋ฐฐ์ด์ด ์๋๋ผ string s๊ฐ ๋งค๊ฐ๋ณ์์ธ ๊ฒ
+
ํํ์ ์์ ์์๊ฐ ์ค์
+
์ซ์์ ๋ฑ์ฅ ์์ ํ์ ํ์
์ด ๋ณต์กํ ์์๋ค์ด ์์ฌ์๋ ๋ฌธ์ .....ใ .ใ
์ฌ์ค ๋ฌธ์ ๋ฅผ ์ฝ๊ณ ๋ ์ด๋ป๊ฒ ์์๊ฐ ์ ํด์ง๋๊ฑด์ง ์ดํด๊ฐ ์๋ผ์ ๊ฒฐ๊ตญ ํํธ๋ฅผ ์ฐธ๊ณ ํ๋ค.
ํํ์ ์์ ์์๋ฅผ ์ฝ๊ฒ ๊ตฌํ๋ ค๋ฉด, ํ ์ซ์๊ฐ ๋ช ๋ฒ ๋ฑ์ฅํ๋์ง ์นด์ดํธํ๋ฉด ๋๋ค!!! ๐ฑ ์์ฒญ๋ ์ฌ์ค์ด๋ค.
์๋๋ฉด s๊ฐ {{4,2,3},{3},{2,3,4,1},{2,3}} ๋ผ๋ฉด ํํ์ [3, 2, 4, 1]๋ผ๋ ๊ฒ์ด ์ดํด๊ฐ ์๋์๋๋ฐ,
3์ด ์ต์ด ๋ฑ์ฅ -> ๊ทธ ๋ค์ 2 -> .... ์ด๋ ๊ฒ ์ซ์์ ๋ฑ์ฅ ์์๊ฐ ๊ณง ํํ ์์์ ์์๊ฐ ๋จ
์ด๋ง์ ์ฆ, 3์ 4๋ฒ, 2๋ 3๋ฒ, 4๋ 2๋ฒ, 1์ 1๋ฒ ๋ฑ์ฅํ๋ฏ๋ก
๋ฑ์ฅ ํ์์ ๋ด๋ฆผ์ฐจ์์ด ๊ณง ํํ ๋ด์์์ ์์์ธ ๊ฒ์ด๋ค. ์ด ๊ท์น์ ๋ฐ๊ฒฌํ ์ฌ๋์ ์ ์ธ ๊ฒ ๊ฐ๋ค. ใ ใ
๋์ ํ์ด
#include <string>
#include <vector>
#include <map>
#include <algorithm>
#include <iostream>
using namespace std;
bool comp(pair<int,int>& a, pair<int,int>& b){
return a.second > b.second;
}
vector<int> solution(string s) {
vector<int> answer;
map<int,int> numCount; // ํ ์ซ์๊ฐ ๋ช๋ฒ ๋์ค๋์ง ์นด์ดํธ. ๋ง์ด ๋์ฌ์๋ก ์ ์์.
string tmp = "";
for(int i=0; i<s.length(); ++i){
if(s[i]=='{') continue;
if(s[i]==',' && s[i+1]!='{'){ // ์ซ์ ์ ์ฅ
int n = stoi(tmp);
numCount[n]++;
tmp = "";
}
if(s[i]=='}' && s[i+1]==','){ // ์ซ์ ์ ์ฅ
int n = stoi(tmp);
numCount[n]++;
tmp = "";
}
if(s[i]==',' || s[i]=='}') continue;
tmp += s[i];
}
int n = stoi(tmp);
numCount[n]++;
vector<pair<int,int>> v(numCount.begin(), numCount.end());
sort(v.begin(), v.end(), comp);
for(auto a:v) answer.push_back(a.first);
return answer;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[C++/PGS] Lv.2 : ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ (0) | 2025.05.15 |
---|---|
[C++/PGS] Lv.2 : ๋กค์ผ์ดํฌ ์๋ฅด๊ธฐ (0) | 2025.05.14 |
[Javascript/PGS] Lv.2 : [1์ฐจ] ์บ์ (2018 KAKAO) (0) | 2025.05.14 |
[Javascript/PGS] Lv.3 : ํ ํธ์ง (์ฐ๊ฒฐ๋ฆฌ์คํธ) (1) | 2025.05.14 |
[Javascript/PGS] Lv.3 : ์ธ์ฌ๊ณ ๊ณผ (0) | 2025.05.09 |