필요/코딩테스트(프로그래머스)(25)
-
[프로그래머스/C++] ㅡ LV1 - 문자열 내 마음대로 정렬하기
문제 programmers.co.kr/learn/courses/30/lessons/12915 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 풀이 #include #include #include using namespace std; int N; bool cmp (string a, string b) { if (a[N] b[N]) return false; // n번째 문자열 비교 ..
2021.03.14 -
[프로그래머스/C++] ㅡ LV1 - 문자열 내림차순으로 배치하기
문제 programmers.co.kr/learn/courses/30/lessons/12917 코딩테스트 연습 - 문자열 내림차순으로 배치하기 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 programmers.co.kr 풀이 #include #include using namespace std; string solution(string s) { sort(s.begin(), s.end(), greater()); return s; } 개념 string의 매소드로 begin(), end() 를 사용해 시작과 끝부분의 주소를 알 수 있다. sort 함수에서 3번째 인..
2021.03.14 -
[프로그래머스/C++] ㅡ LV1 - 문자열 내 p와 y의 개수
문제 programmers.co.kr/learn/courses/30/lessons/12916 코딩테스트 연습 - 문자열 내 p와 y의 개수 대문자와 소문자가 섞여있는 문자열 s가 주어집니다. s에 'p'의 개수와 'y'의 개수를 비교해 같으면 True, 다르면 False를 return 하는 solution를 완성하세요. 'p', 'y' 모두 하나도 없는 경우는 항상 True를 programmers.co.kr 풀이 #include #include using namespace std; bool solution(string s) { bool answer = true; int cntp=0, cnty=0; for (int i=0; i char 로 변환해서 문제를 해결했었다. string.h 라이브러리를 통해 st..
2021.03.13 -
[프로그래머스/C++] ㅡ LV1 - 두 정수 사이의 합
문제 programmers.co.kr/learn/courses/30/lessons/12912 코딩테스트 연습 - 두 정수 사이의 합 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우 programmers.co.kr 풀이 #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; if (a < b) {// a가 적을 때 a부터 덧셈 시작 for (int i=a; i
2021.03.05 -
[프로그래머스/C++] ㅡ LV1 - 나누어 떨어지는 숫자 배열
문제 programmers.co.kr/learn/courses/30/lessons/12910 코딩테스트 연습 - 나누어 떨어지는 숫자 배열 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하 programmers.co.kr 풀이 #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; for (int i=0; i
2021.03.05 -
[프로그래머스/C++] ㅡ LV1 - 같은 숫자는 싫어
문제 programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr 풀이 #include using namespace std; vector solution(vector arr) { vector answer; int last = arr.size()-1; for (int i=0; i
2021.03.03 -
[프로그래머스/C++] ㅡ LV1 - 3진법 뒤집기
문제 programmers.co.kr/learn/courses/30/lessons/68935 코딩테스트 연습 - 3진법 뒤집기 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수 programmers.co.kr 풀이 #include #include using namespace std; int solution(int n) { stack s; while (n/3 != 0) {// 3진수로 변환 s.push(n%3); n/=3; } s.push(n); int answer = 0; int r = 1; while (!s.empty()) {/..
2021.03.02 -
[프로그래머스/C++] ㅡ LV1 - 가운데 글자 가져오기
문제 programmers.co.kr/learn/courses/30/lessons/12903 코딩테스트 연습 - 가운데 글자 가져오기 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 s는 길이가 1 이상, 100이하인 스트링입니다. 입출력 예 s ret programmers.co.kr 풀이 #include using namespace std; string solution(string s) { string answer = ""; int len = s.size();// 문자열 길이 저장 if (len % 2 != 0) {// 홀수라면 answer += s[len/2]; } else {// 짝수라면 answer += ..
2021.02.26 -
[프로그래머스/C++] ㅡ LV1 - 2016년
문제 programmers.co.kr/learn/courses/30/lessons/12901 코딩테스트 연습 - 2016년 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까 programmers.co.kr 풀이 #include using namespace std; string solution(int a, int b) { int monthDay[] = {31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};// 월당 일수 string dOW[] = {"THU","FRI","SAT","SUN","MON",..
2021.02.26