title: "이진 변환 반복하기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 이진 변환 반복하기 C++ #include #include #include using namespace std; vector solution(string s) { vector answer(2, 0); while(true){ answer[0]++; int len=0; for(char ch: s) (ch=='1')?len++:0; answer[1]+=(s.length()-len); if(len==1) break; // 길이 -> 이진수 s=""; while(len>0){ if(len&1) s+='1'; else s+='0'; ..
title: "최댓값과 최솟값" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 최댓값과 최솟값 C++ #include #include #include #include using namespace std; string solution(string s) { string answer = ""; stringstream ss(s); vector nums; int num; while(ss>>num) nums.push_back(num); answer=to_string(*min_element(nums.begin(), nums.end())) + " " + to_string(*max_element(nums.begin(),..
title: "폰켓몬" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-30" 문제 링크 폰켓몬 C++ #include #include using namespace std; int solution(vector nums) { int answer = 0; set bag; // 중복 제거 for(int num: nums) bag.insert(num); answer = (bag.size()>nums.size()/2) ? nums.size()/2 : bag.size(); return answer; } JavaScript function solution(nums) { var answer = 0; const bag = new Set(n..
title: "최솟값 만들기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 최솟값 만들기 C++ #include #include #include using namespace std; int solution(vector A, vector B) { int answer = 0; // 오름차순 정렬 stable_sort(A.begin(), A.end()); stable_sort(B.begin(), B.end()); int left=0; int right=A.size()-1; while(left a - b); B.sort((a, b) => a - b); let left = 0; let right = A.leng..
title: "피보나치 수" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 피보나치 수 C++ #include #include using namespace std; int solution(int n) { int answer = 0; vector fibo(100001); fibo[0]=0; fibo[1]=1; for(int i=2; i 0); fibo[0] = 0; fibo[1] = 1; for (let i = 2; i
title: "쿼드압축 후 개수 세기" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-29" 문제 링크 쿼드압축 후 개수 세기 C++ #include #include using namespace std; int countZero, countOne; // 각각 0과 1의 개수 void divideGo(vector& arr, int row, int col, int size){ int count=0; for(int x=row; x