[C/C++] programmers Level 2 124 나라의 숫자 코드 #include using namespace std; string solution(int n) { string answer = ""; while(n!=0){ // 3진법 -> 1,2,4 int bit3=n%3; n=n/3; if(bit3==0){ //나누어 떨어질 경우 몫을 1빼준다. answer="4"+answer; n=n-1; }else{ answer=to_string(bit3)+answer; } } return answer; } C++/programmers 코딩테스트(level 2) C++ 2023.12.05
[C/C++] programmers Level 2 게임 맵 최단거리 - 참고 코드 #include #include // 큐 -> BFS using namespace std; bool visited[101][101]; // 방문 체크 -> maps : n x m 크기 (1 C++/programmers 코딩테스트(level 2) C++ 2023.12.04
[C/C++] programmers Level 2 디펜스 게임 - 참고 코드 #include // priority_queue : 우선순위 큐 #include using namespace std; int solution(int n, int k, vector enemy) { priority_queue pq; // 우선순위 큐 : 내림차순 for(int i=0;ik){ // 무적권 개수보다 pq 크기가 커지는 경우 n=n-pq.top(); // n에서 pq.top 값 빼기 pq.pop(); // pq.top 값 빼기 } if(n C++/programmers 코딩테스트(level 2) C++ 2023.11.28
[C/C++] programmers Level 2 시소 짝꿍 코드 #include // hashmap #include using namespace std; long long solution(vector weights) { long long answer = 0; unordered_map hashmap; // long long : weights, long long : weights 값의 개수 for(int i=0;i n개 중에 2개 뽑는 경우의 수 : n(n-1) / 2 answer+=(n.second*(n.second-1))/2; // answer 값에 같은 값을 가진 2명 이상인 값에서 2명을 뽑는 경우의 수를 더해준다. } } return answer; } C++/programmers 코딩테스트(level 2) C++ 2023.11.27
[C/C++] programmers Level 2 택배상자 코드 #include // 스택 #include // 풀이 - 입력값 : ex) 1 2 3 4 5 -> order : 4 3 1 2 5 using namespace std; int solution(vector order) { int answer = 0; stack st; // 보조 컨테이너 역할 for(int i=1;i C++/programmers 코딩테스트(level 2) C++ 2023.11.16
[C/C++] programmers Level 2 다리를 지나는 트럭 코드 #include // 큐 #include using namespace std; int solution(int bridge_length, int weight, vector truck_weights) { int answer = bridge_length; // 마지막 지나가는 트럭 시간 int index=0; // 인덱스 값 int sum=0; // 다리에 최대 올라갈 수 있는 무게 비교 값 queue q; while(true){ if(index==truck_weights.size()){ break; } answer++; if(q.size()==bridge_length){ // q의 크기가 다리에 올라갈 수 있는 트럭 수와 같아지는 경우 sum=sum-q.front(); // 무게 비교값에서 다리를 지난.. C++/programmers 코딩테스트(level 2) C++ 2023.11.13
[C/C++] programmers Level 2 k진수에서 소수 개수 구하기 코드 #include #include #include // sqrt(루트) #include // reverse : 역순 using namespace std; bool isPrime(long long num){ // 소수 검사 if (num C++/programmers 코딩테스트(level 2) C++ 2023.11.11
[C/C++] programmers Level 2 연속된 부분 수열의 합 코드 #include #include // 큐 using namespace std; vector solution(vector sequence, int k) { vector answer(2,0); // 0~1 범위 0값 queue q; // pair -> 구조체 대신 사용 더 사용하기 편함 // pair -> int : sequence값, int : sequence 인덱스 값 int sum=0; // k 비교를 위한 합값 int size=sequence.size()+1; // q.size 비교 값 for(int i=0;i C++/programmers 코딩테스트(level 2) C++ 2023.11.07
[C/C++] programmers Level 2 큰 수 만들기 코드 #include using namespace std; string solution(string number, int k) { string answer = ""; int index=0; for(int i=0;i C++/programmers 코딩테스트(level 2) C++ 2023.11.03
[C/C++] programmers Level 2 소수 찾기 코드 #include // sqrt(루트) #include #include // sort, next_permutation(순열) #include // 중복 방지 set using namespace std; bool isPrime(int num){ // 소수 검사 if (num C++/programmers 코딩테스트(level 2) C++ 2023.11.02