title: "숫자의 표현" category: 프로그래머스[Level-2] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-31" 문제 링크 숫자의 표현 C++ #include #include using namespace std; int solution(int n) { int answer = 1; // 자기 자신 int limit=(n%2)?(n+1)/2:n/2; int sum=0; int sub=1; // 1부터 빼기 for(int i=1; i=n){ while(sum>n) sum-=sub++; if(sum==n) answer++; } } return answer; } JavaScript function solution(n) { var answer = 1; // 자기..
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-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 문자열 내 마음대로 정렬하기 C++ #include #include #include using namespace std; int base; // 인덱스 기준 bool cmp(string a, string b){ if(a[base] == b[base]) return a < b; return a[base] < b[base]; } vector solution(vector strings, int n) { vector answer(strings); base = n; // 인덱스 지정 sort(answer.begin(), a..