프로그래머스(Programmers)
-
프로그래머스 > Level 1 > 같은 숫자는 싫어프로그래머스(Programmers) 2018. 9. 14. 19:45
https://programmers.co.kr/learn/courses/30/lessons/12906 1. 문제 2. 알고리즘키워드 - 구현 2018-09-14 unique 사용 코드 추가 3. 코드 123456789101112131415161718192021#include #include using namespace std; vector solution(vector arr) { vector answer; answer.push_back(arr[0]); const int size = arr.size(); for(int i =1; i 정렬 하면 1133011 1,3,0,1 이 나오는게 아니라 // 0111133 -> 013 으로 나와 문제와 다른 결과가 나옴으로 주의 해야 한다. // arr에서 연속 중복 ..
-
Level 2 > 다음 큰 숫자프로그래머스(Programmers) 2018. 9. 14. 19:17
https://programmers.co.kr/learn/courses/30/lessons/12911 1. 문제입력 받은 숫자를 이진수로 변환하여 갖고 있는 1의 개수와 다음 숫자를 이 진수로 변환 했을 때 1의 개수가 같은 숫자를 찾는 문제 현재 숫자 - 78(1001110) == 1 의 개수 4 개다음 큰 숫자 - 83(1010011) == 1 의 개수 4개 2. 알고리즘키워드 - 구현 3. 코드 123456789101112131415161718192021#include #include using namespace std; int solution(int n) { int count = __builtin_popcount(n); // 현재 정수의 비트 카운트를 계산 한다. while(true) { // 반..
-
해시 > 완주하지 못한 선수프로그래머스(Programmers) 2018. 9. 14. 13:13
https://programmers.co.kr/learn/courses/30/lessons/42576 1. 문제중복된 원소가 없는지 판단 하는 문제 2. 알고리즘키워드 - 해쉬, 정렬 3. 코드 1234567891011121314151617181920212223242526272829303132333435#include #include #include #include using namespace std; string solution(vector participant, vector completion) { string answer = ""; map mm; int size = participant.size(); for(int i=0; ifirst; break; } } return answer;}Colored ..
-
Level 3 > 멀리 뛰기프로그래머스(Programmers) 2018. 8. 22. 13:57
https://programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 | 프로그래머스 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solut programmers.co.kr 알고리즘 키워드 - 피보나치, 다이나믹프로그래밍 코드 #include #..
-
Level 3 > 가장 긴 팰린드롬프로그래머스(Programmers) 2018. 8. 22. 13:22
https://programmers.co.kr/learn/courses/30/lessons/12904?language=cpp 1. 문제주어진 문자열에서 가장 긴 펠린드롬 문자열을 찾는 문제 2. 알고리즘키워드 - 문자열, 브루트포스 3. 코드 123456789101112131415161718192021222324252627#include #include #include using namespace std;int solution(string s){ int answer = 0; int length = s.length(); for(int i=0;ianswer; subLength--) { int left = i; int right = left+subLength - 1; while(left= right && an..
-
Level 2 > JadenCase프로그래머스(Programmers) 2018. 8. 22. 13:19
https://programmers.co.kr/learn/courses/30/lessons/12951 1. 문제문장에 첫 글자를 대문자 나머지는 소문자로 변환하는 문제 2. 알고리즘키워드 - 문자열 3. 코드 1234567891011#include #include using namespace std; string solution(string s) { s.at(0) = toupper(s.at(0)); for (int i = 1; i
-
Level 3 > 2 x n 타일링프로그래머스(Programmers) 2018. 8. 20. 09:31
https://programmers.co.kr/learn/courses/30/lessons/12900 1. 문제 2. 알고리즘키워드 - DP * 문제 접근 N 이 1 일때 = 1N 이 2 일때 = 2N 이 3 일때 = 1+2N 이 4 일때 = 1 + 2 + 2 DP[1] = 1;DP[2] = 2;DP[3] = DP[2] + DP[1];DP[4] = DP[3] + DP[2];DP[5] = DP[4] + DP[3]; 키포인트하지만 만약 답이 123456789라면 56789만 반환해주면 됩니다. 리턴하는 숫자의 앞자리가 0일 경우 0을 제외한 숫자를 리턴하세요. 경우의 수가 많기 때문에 해를 구하고 % 로 연산자로 절단이 필요 하다.123456789 % 100000 = 56789 3. 코드 1234567891..
-
DrawRect프로그래머스(Programmers) 2018. 8. 20. 09:27
1. 문제 문제 설명 직사각형을 만드는 데 필요한 4개의 점 중 3개의 좌표가 주어질 때, 나머지 한 점의 좌표를 구하려고 합니다. 점 3개의 좌표가 들어있는 배열 v가 매개변수로 주어질 때, 직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 return 하도록 solution 함수를 완성해주세요. 단, 직사각형의 각 변은 x축, y축에 평행하며, 반드시 직사각형을 만들 수 있는 경우만 입력으로 주어집니다. 제한사항 v는 세 점의 좌표가 들어있는 2차원 배열입니다.v의 각 원소는 점의 좌표를 나타내며, 좌표는 [x축 좌표, y축 좌표] 순으로 주어집니다.좌표값은 1 이상 10억 이하의 자연수입니다.직사각형을 만드는 데 필요한 나머지 한 점의 좌표를 [x축 좌표, y축 좌표] 순으로 담아 return 해..