프로그래머스(Programmers)
-
정렬 > H-Index프로그래머스(Programmers) 2018. 9. 30. 18:49
https://programmers.co.kr/learn/courses/30/lessons/42747 1. 문제 3 0 6 1 5 -> 정렬을 한다. 6 5 3 1 0 step 1 - [6] 5 3 1 0 - h 1증가step 2 - 6 [5] 3 1 0 - h 1증가step 3 - 6 5 [3] 1 0 - h 1증가step 4 - 6 5 3 [1] 0 - h 3 이고 4 번째 원소가 1 임으로 증가하지 못 한다.step 5 - 6 5 3 1 [0] - h 3 이고 5 번째 원소가 0 임으로 증가하지 못 한다. 2. 알고리즘키워드 - 정렬 3. 코드 123456789101112131415#include #include #include #include using namespace std; int solut..
-
해시 > 전화번호 목록프로그래머스(Programmers) 2018. 9. 30. 18:01
https://programmers.co.kr/learn/courses/30/lessons/42577 1. 문제정렬하여 인접한 배열 원소를 만들어서 이전에 문자와 현재 문자사이에 이전 문자열이 원소로 있다면 접두사를 갖는다는 의미로 처리하는 문제. 119, 2121212, 1119114 와 같은 문자열 벡터가 있다면 정렬 후에는 119, 1119114, 2121212 형태로 정렬 된다. 2. 알고리즘키워드 - 해시, 정렬 3. 코드 123456789101112131415161718192021222324#include #include #include #include #include using namespace std;bool solution(vector phoneBook) { bool answer = tr..
-
스택/큐 > 주식가격프로그래머스(Programmers) 2018. 9. 26. 21:47
https://programmers.co.kr/learn/courses/30/lessons/42584 1. 문제 2. 알고리즘키워드 - 구현 3. 코드 12345678910111213141516171819202122232425262728293031323334// 그지 같은 풀이#include #include using namespace std; vector solution(vector prices) { vector answer; const int size = prices.size(); for (int i = 0; i
-
스택/큐 > 쇠막대기프로그래머스(Programmers) 2018. 9. 26. 21:23
https://programmers.co.kr/learn/courses/30/lessons/42585 1. 문제 2. 알고리즘키워드 - 스택 3. 코드 12345678910111213141516171819202122232425262728293031#include #include #include using namespace std; int solution(string arrangement) { int answer = 0; const int size = arrangement.size(); stack s; char before = 0; for (int i = 0; i
-
스택/큐 > 탑프로그래머스(Programmers) 2018. 9. 26. 21:22
https://programmers.co.kr/learn/courses/30/lessons/42588 1. 문제 2. 알고리즘키워드 - 큐 3. 코드 12345678910111213141516171819202122232425262728293031323334353637#include #include #include #include using namespace std; vector solution(vector heights) { vector answer; queue qq1; reverse(heights.begin(), heights.end()); int size = heights.size(); for (int i = 0; i
-
정렬 > 가장 큰 수프로그래머스(Programmers) 2018. 9. 20. 17:27
https://programmers.co.kr/learn/courses/30/lessons/42746 1. 문제 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. - 제한 사항numbers의 길이는 1 이상 100,000 이하입니다.numbers의 원소는 0 이상 1,000 이하입니다.정답이 너무 클 ..
-
정렬 > K번째수프로그래머스(Programmers) 2018. 9. 20. 16:58
https://programmers.co.kr/learn/courses/30/lessons/42748 1. 문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다.1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다.2에서 나온 배열의 3번째 숫자는 5입니다.배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 ..
-
2017 팁스타운 > 예상 대진표프로그래머스(Programmers) 2018. 9. 20. 15:56
https://programmers.co.kr/learn/courses/30/lessons/12985 1. 문제 △△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N번의 참가자끼리 게임을 진행합니다. 각 게임에서 이긴 사람은 다음 라운드에 진출할 수 있습니다. 이때, 다음 라운드에 진출할 참가자의 번호는 다시 1번부터 N/2번을 차례대로 배정받습니다. 만약 1번↔2번 끼리 겨루는 게임에서 2번이 승리했다면 다음 라운드에서 1번을 부여받고, 3번↔4번에서 겨루는 게임에서 3번이 승리했다면 다음 라운드에서 2번을 부여받게 됩니다. 게임은 최종 한 명이 남을..