분류 전체보기
-
프로그래머스 Level1 > 문자열 내 p와 y의 개수문자열(String) 2018. 6. 14. 18:00
https://programmers.co.kr/learn/courses/30/lessons/12916 1. 문제 요약 입력받은 문자열에서 p와 y 의 개수가 같으면 true 를 반환하고 아니면 false 를 반환 하는 문제 2. 알고리즘 입력 받은 문자열을 소문자로 치환 한다. p, y 값을 카운팅 하여 같으면 true, 다르면 false 를 반환 한다. 3. 코드 123456789101112131415161718192021222324252627282930#include #include #include #include using namespace std; bool solution(string s){ bool answer = true; const int size = s.size(); int count_p ..
-
프로그래머스 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
-
백준 9012번: 괄호스택(Stack) 2018. 6. 14. 16:04
https://www.acmicpc.net/problem/9012 1. 문제 요약 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 부른다. 한 쌍의 괄호 기호로 된 “( )” 문자열은 기본 VPS 이라고 부른다. 만일 x 가 VPS 라면 이것을 하나의 괄호에 넣은 새로운 문자열 “(x)”도 VPS 가 된다. 그리고 두 VPS x 와 y를 접합(concatenation)시킨 새로운 문자열 xy도 VPS 가 된다. 예를 들어 “(())()”와 “((()))” 는 VPS 이지만 “(()(”, “(())()))” , 그리고 “(()..
-
백준 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-..
-
백준 10539번: 수빈이와 수열구현(Implementation) 2018. 6. 13. 18:23
https://www.acmicpc.net/problem/10539 1. 문제 요약 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어, 수열 A가 1, 3, 2, 6, 8이라면, 수열 B는 1/1, (1+3)/2, (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5, 즉, 1, 2, 2, 3, 4가 된다. 수열 B가 주어질 때, 수빈이의 규칙에 따른 수열 A는 뭘까? 수열 B를 보고 수열 A 를 유추 하는 문제 2. 알고리즘 수열 B 가 3, 2, 3, 5 순으로 주어 진다면 수열의 첫번 째는 3 이다. 수열의 두번 째는 2 = (3 + x) / 2 로 정리 할수 있다. 4 = 3 + x x + 3 = 4 x..