728x90
[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=cpp
[ํด๊ฒฐ๋ฒ]
1) ์กฐํฉ์ผ๋ก ๋ฌธ์์กฐํฉ ๋ฝ๊ธฐ
2) 1๊ธ์, 2๊ธ์, n๊ธ์์ฉ ๋ฝ๊ธฐ
3) ๋ฝ์ ์์ ์์ํ๋ณ์ ์ํด ๋ฌธ์๋ฅผ intํ์ผ๋ก ๋ณ๊ฒฝ
4) ์์์ธ์ง ํ๋ณ. ์์์ด๋ฉด ์ ๋ต ๊ฐ์ + 1. ์ด ๋, ์ค๋ณตํ์ ํธ๋ฆฌํ๊ฒ ํ๋ ค๊ณ unordered_set<int> answer; ๋ณ์๋ฅผ ๋ง๋ค์ด์ ๋ฃ์๋ค.
5) answer ์ฌ์ด์ฆ ๋ฆฌํด
[์์๋ ๊ฒ]
1) string to int ํจ์
#include <cmath>
stoi("12");
2) unordered_set ์๋ฃํ
#include <unordered_set>
unordered_set<int> map; // ์ ์ธ
map.insert(1); // ์ฝ์
map.erase(1); // ์ญ์
map[1] = 2; // ํ์ ๋ฐ ์์
map.size(); // ์ฌ์ด์ฆ ๊ตฌํ๊ธฐ
๊ด๋ จ๋ด์ฉ์ ์๋ ํฌ์คํ ์ฐธ๊ณ
https://i-believe-in-me.tistory.com/65
3) ๋ฌธ์์ด ์ผ๋ถ ๋ฆฌํด
#include <string>
string str = "0123456789";
str.substr(5); // 56789
str.substr(5, 3); //567
[์ฝ๋]
#include <string>
#include <vector>
#include <algorithm>
#include <cmath>
#include <unordered_set>
using namespace std;
bool isPrime(int a){
if(a <= 1) return false;
for(int i = 2; i <= sqrt(a); i++){
if(a%i == 0) return false;
}
return true;
}
int solution(string numbers) {
int num = 0;
unordered_set<int> answer;
//์กฐํฉ ๋๋ฆฌ๊ธฐ ์ฝ๊ฒ ์ ๋ ฌํ๊ธฐ
sort(numbers.begin(), numbers.end());
//์กฐํฉ์ผ๋ก ์ ๋ฝ๊ธฐ
do{
for(int i = 1; i < numbers.size()+1; i++){
//string -> int๋ก ๋ฐ๊พธ๊ธฐ
//1๊ธ์, 2๊ธ์, n๊ธ์์ฉ ๋ฝ๊ธฐ
num = stoi(numbers.substr(0, i));
//๋ฝ์ ์๊ฐ ์์์ธ์ง ํ๋ณํ๊ธฐ. ์ ๋ต ๊ฐฏ์ +1
if(isPrime(num)) answer.insert(num);
}
}while(next_permutation(numbers.begin(), numbers.end()));
//์์ ๊ฐฏ์ ๋ฆฌํด
return answer.size();
}
728x90
'๐ Coding Test Study > C++' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[10์ฃผ ์์ฑ C++ ์ฝ๋ฉํ ์คํธ] ํ์๊ฐ๋ - ์ฌ๊ทํจ์(Recursion) (0) | 2023.08.03 |
---|---|
[Algorithm][C++] BFS/DFS (0) | 2023.04.25 |
[C++] ์์ ํ๋ณ๋ฒ, ์์ ๊ฐ์ ๊ตฌํ๋ ๋ฒ (0) | 2023.04.22 |
[C++][์๋ฃ๊ตฌ์กฐ] Binary Tree(์ด์งํธ๋ฆฌ)๋ ? ๊ตฌํ๋ฒ์ ? (0) | 2022.09.06 |
[C++][์๋ฃ๊ตฌ์กฐ] Graph์ Tree์ ์ฐจ์ด? ๊ตฌํ๋ฒ์? (0) | 2022.09.06 |