백준
-
백준 1453번 : 피시방 알바구현(Implementation) 2018. 6. 18. 11:52
https://www.acmicpc.net/problem/1453 1. 문제세준이는 피시방에서 아르바이트를 한다. 세준이의 피시방에는 1번부터 100번까지 컴퓨터가 있다. 들어오는 손님은 모두 자기가 앉고 싶은 자리에만 앉고싶어한다. 따라서 들어오면서 번호를 말한다. 만약에 그 자리에 사람이 없으면 그 손님은 그 자리에 앉아서 컴퓨터를 할 수 있고, 사람이 있다면 거절당한다. 거절당하는 사람의 수를 출력하는 프로그램을 작성하시오. 컴퓨터는 맨 처음에 모두 비어있고, 어떤 사람이 자리에 앉으면 자리를 비우는 일은 없다. 2. 알고리즘크기 101의 정수 배열을 선언하고 모두 0 으로 초기화 한다.입력받은 N 의 값 만큼 정수를 입력 받아 배열 인덱스에 값을 증가 시킨다. 분기 1. 이미 1로 채워진 배열의 ..
-
백준 2667번 : 단지번호붙이기깊이우선탐색(DFS) 2018. 6. 18. 11:12
https://www.acmicpc.net/problem/2667 1. 문제 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집들의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 아래위로 다른 집이 있는 경우를 말한다. 대각선상에 집이 있는 경우는 연결된 것이 아니다. 는 을 단지별로 번호를 붙인 것이다. 지도를 입력하여 단지수를 출력하고, 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력하는 프로그램을 작성하시오. 2. 알고리즘 0, 0 부터 검색을 시작 하여 현재 위치에서 상하좌우에 값이 1이면 이동한다. 더이상 갈 곳이 없다면 현재 까지 이동한 횟수를 카운트 한..
-
백준 10156번 : 과자구현(Implementation) 2018. 6. 17. 16:17
https://www.acmicpc.net/problem/10156 1. 문제 요약 단순 구현 문제 2. 알고리즘 단순 구현 문제 3. 코드 12345678910111213141516171819202122232425#include #include #include #include #include #include #include #include #include using namespace std; int main() { std::ios::sync_with_stdio(false); cin.tie(0); int k, n, m; cin >> k >> n >> m; int cand = n * k; if (cand > m) { cout
-
백준 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..
-
백준 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..