알고리즘
-
프로그래머스 Level1 > 두 정수 사이의 합구현(Implementation) 2018. 6. 14. 17:52
https://programmers.co.kr/learn/courses/30/lessons/12912 1. 문제 요약 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 2. 알고리즘 입력 받은 a, b 정수에서 작은 값과 큰값을 구한다. 작은 값에서 큰 값까지 합산 한다. 3. 코드 1234567891011121314#include #include #include using namespace std; long long solution(int a, int b) { long long answer = 0; for(int i=min(a,b); i
-
프로그래머스 Level1: 나누어 떨어지는 숫자 배열정렬(Sort) 2018. 6. 14. 17:47
https://programmers.co.kr/learn/courses/30/lessons/12910 1. 문제 요약 입력되는 정수와 나눗셈 값으로 나누어 지는 값을 array 배열에 넣어 반환 하는 문제 2. 알고리즘 배열을 정렬 한다. 나누어서 나머지가 0 인 수만 array 에 담는다. 3. 코드 12345678910111213141516171819202122#include #include #include using namespace std; vector solution(vector arr, int divisor) { vector answer; sort(arr.begin(), arr.end()); const int size = arr.size(); for(int i=0; i
-
백준 2997번: 네번째 수정수론(Number theory) 2018. 6. 13. 19:49
https://www.acmicpc.net/problem/2997 1. 문제 요약 상근이는 등차수열을 이루는 정수 4개를 골랐다. 이것은 상근이가 고른 수 4개를 정렬했을 때, 인접한 쌍의 차이가 일정하다는 것을 의미한다. 그 다음 이렇게 고른 숫자 4개를 노래로 만들어서 외우고 다닌다. 어느날, 상근이는 자신이 고른 4개 숫자 중 1개를 까먹었다. 상근이가 고른 네 개의 숫자 중 세 개가 주어졌을 때, 네번째 숫자를 구하는 프로그램을 작성하시오. 2. 알고리즘 수열을 입력 받고 정렬 한다. 각각의 수에서 차이 값을 구한다. 차이가 갔다면 3번째 수열에 덧셈을 해주고 차이가 다르다면 2 번째 수열에 뻴셈을 해준다. 3. 코드 12345678910111213141516171819202122232425262..
-
백준 2231번: 분해합브루트 포스(Brute Force) 2018. 6. 13. 19:28
https://www.acmicpc.net/problem/2231 1.문제 요약 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로, 생성자가 여러 개인 자연수도 있을 수 있다. 자연수 N이 주어졌을 때, N의 가장 작은 생성자를 구해내는 프로그램을 작성하시오. 2. 알고리즘 노가다로 풀었습니다. ㅜㅜ 3. 코드 1234567891011121314151617181920212223242526272829303132333435..
-
백준 1302번: 베스트셀러문자열(String) 2018. 6. 13. 19:04
https://www.acmicpc.net/problem/1302 1. 문제 요약 가장 빈도가 높은 문자열 출력 하는 문제 2. 알고리즘 문자열을 입력받아 map 삽입한다. 가장많이 호출된 string 을 출력한다. 3. 코드 1234567891011121314151617181920212223242526272829303132333435363738#include #include #include #include #include // greater 사용 위해 필요 #include #include #include using namespace std; int main() { std::ios::sync_with_stdio(false); cin.tie(0); int n; cin >> n; map m; while(n-..
-
백준 5533번: 유니크구현(Implementation) 2018. 6. 13. 17:07
https://www.acmicpc.net/problem/5533 1. 문제 요약 겹치지 않는 숫자의 합을 출력 하는 문제 2. 알고리즘 각 배열 별로 정수를 입력 받는다. 입력을 받고 다른 배열에 같은 값이 있다면 합산 하지 않고 유일한 값이라면 합산하고 출력 한다. 3. 코드 1234567891011121314151617181920212223242526272829303132333435363738394041#include #include #include #include #include // greater 사용 위해 필요 #include #include #include using namespace std; int main() { int n,i,j,k, c[201][3], score[201]; cin >>..
-
백준 1598번: 꼬리를 무는 숫자 나열구현(Implementation) 2018. 6. 13. 12:28
https://www.acmicpc.net/problem/1598 1. 문제 요약 두 수가 주어지고 두 수간의 거리를 구하는 문제 2. 알고리즘 입력 받은 두 정수 중 작은 값에서 큰 값으로 4를 더하면서 카운팅을 한다. 작은 값에 값이 큰 값보다 커지면 종료 하고 두수의 차이를 더해주면 높이가 된다. 11 33 을 예를 들자면 1 - 15 / 33 2 - 19 / 33 3 - 23 / 33 4 - 27 / 33 5 - 31 / 33 6 - 35 / 33 -------------> 큰 값이 더 작기 때문에 종료 답은 6 + (35 - 33) = 8 3. 비고 설명이 부족하고 논리적이지 않다. 접근을 감으로 해서 그런지 쉽게 잊을 거 같다. 4. 코드 123456789101112131415161718192..