전체 글
-
스택/큐 > 쇠막대기프로그래머스(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번을 부여받게 됩니다. 게임은 최종 한 명이 남을..
-
프로그래머스 > 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) { // 반..
-
백준 3474번: 교수가 된 현우정수론(Number theory) 2018. 9. 14. 18:59
https://www.acmicpc.net/problem/3474 1. 문제0 의 개수를 찾는 문제 2. 알고리즘키워드 - 정수론 문제가 이해가 안되서 인터넷에 있는 해답 보면서 풀었다. 2, 5 로 체크하면 되는 문제라고 하는데 흠?2,5 나누어서 떨어지면 0 이기 때문에 체크하나 3. 코드 12345678910111213141516171819202122232425262728293031323334353637383940414243444546#include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; #de..