title: "문자열 내림차순으로 배치하기" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 문자열 내림차순으로 배치하기 C++ #include #include #include using namespace std; string solution(string s) { string answer(s); sort(answer.rbegin(), answer.rend()); // 내림차순 정렬 return answer; } JavaScript function solution(s) { var answer = ""; answer = s .split("") // 배열로 변환 .sort((a, b) => { // 사전 반대 ..
title: "문자열 내 p와 y의 개수" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 문자열 내 p와 y의 개수 C++ #include #include using namespace std; bool solution(string s) { bool answer = true; int base = 0; // 기준점 for(char c: s){ if(c == 'P' || c == 'p') base++; else if(c == 'Y' || c == 'y') base--; } answer = base == 0 ? true : false; return answer; } JavaScript function solut..
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..
title: "두 정수 사이의 합" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 두 정수 사이의 합 C++ #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if(a > b){ // a가 크면 for(int i=b; i
title: "같은 숫자는 싫어" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 같은 숫자는 싫어 C++ #include #include using namespace std; vector solution(vector arr) { vector answer; for(auto e: arr){ if(answer.empty() || answer.back() != e){ // 비어있거나 마지막 수가 다를 경우 push answer.push_back(e); } } return answer; } JavaScript function solution(arr) { var answer = []; arr.forEach((val..
title: "나누어 떨어지는 숫자 배열" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 나누어 떨어지는 숫자 배열 C++ #include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for(auto e: arr){ if(e%divisor==0){ // 나누어 떨어질 경우 push answer.push_back(e); } } if(answer.empty()) answer.push_back(-1); // -1 push else sort(answer.begin(), answer.e..
title: "가운데 글자 가져오기" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 가운데 글자 가져오기 C++ #include #include using namespace std; string solution(string s) { string answer = ""; int center = s.length()/2; if(s.length()%2==0){ // 길이가 짝수일 때 answer = s.substr(center-1, 2); } else{ // 길이가 홀수일 때 answer = s[center]; } return answer; } JavaScript function solution(s) { var ..
title: "3진법 뒤집기" category: 프로그래머스[Level-1] tags: [C++, JavaScript, 프로그래머스] date: "2021-01-19" 문제 링크 3진법 뒤집기 C++ #include #include #include #include using namespace std; int solution(int n) { int answer = 0; vector v; // 3진법 구하기 while(true){ if(n < 1) break; v.push_back(n%3); n = n/3; } // 10진법으로 바꾸기 for(int i=0; i { answer += value * Math.pow(3, array.length - index - 1); }); return answer; }