알고리즘
-
백준 1012번: 유기농 배추(DFS)깊이우선탐색(DFS) 2018. 6. 23. 15:54
https://www.acmicpc.net/problem/1012 1. 문제차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다.(한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있다고 간주한다)한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어놓았다. 배추들이 모여있는 곳에는 ..
-
백준 2526번: 싸이클구현(Implementation) 2018. 6. 23. 14:51
https://www.acmicpc.net/problem/2526 1. 문제두 자연수 N과 P를 가지고 다음 과정을 거쳐서 나오는 숫자들을 차례대로 출력해보자. 처음 출력하는 숫자는 N이고, 두 번째 이후 출력하는 숫자들은 N을 곱하고 P로 나눈 나머지를 구하는 과정을 반복하여 구한다. 즉, 먼저 N에 N을 곱하고, 이 수를 P로 나눈 나머지를 두 번째에 출력한다. 다음에는 이 나머지에 N을 곱하고 P로 나눈 나머지를 출력한다. 다음에는 이 나머지에 N을 곱한 후 P로 나눈 나머지를 출력한다. 이 과정을 계속 반복해보면 출력되는 숫자들에는 반복되는 부분이 있다. 예를 들어서, N=67, P=31인 경우를 생각해보자. 처음 출력되는 숫자는 67이고, 두 번째로 출력되는 숫자는 67*67 = 4489를 31..
-
백준 5086번: 배수와 약수정수론(Number theory) 2018. 6. 21. 17:10
https://www.acmicpc.net/problem/5086 1. 문제4 × 3 = 12이다.이 식을 통해 다음과 같은 사실을 알 수 있다.3은 12의 약수이고, 12는 3의 배수이다.4도 12의 약수이고, 12는 4의 배수이다.두 수가 주어졌을 때, 다음 3가지 중 어떤 관계인지 구하는 프로그램을 작성하시오.첫번째 숫자가 두번째 숫자의 약수이다.첫번째 숫자가 두번째 숫자의 배수이다.첫번째 숫자가 두번째 숫자의 약수와 배수 모두 아니다. 2. 알고리즘배수 판별식 - K % N == 0 / N % K == N약수 반별식 - N % K == 0 / K % N == K 3. 코드12345678910111213141516171819202122232425262728293031323334353637383940..
-
백준 1012번: 유기농 배추(BFS)넓이우선탐색(BFS) 2018. 6. 21. 10:25
https://www.acmicpc.net/problem/1012 1. 문제차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다.(한 배추의 상하좌우 네 방향에 다른 배추가 위치한 경우에 서로 인접해있다고 간주한다)한나가 배추를 재배하는 땅은 고르지 못해서 배추를 군데군데 심어놓았다. 배추들이 모여있는 곳에는 ..
-
백준 10866번: 덱큐(Queue) 2018. 6. 20. 16:51
https://www.acmicpc.net/problem/10866 1. 문제정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다.push_back X: 정수 X를 덱의 뒤에 넣는다.pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 덱에 들어있는 정수의 개수를 출력한다.empty: 덱이 비어있으면 1을, 아니면 0을 출력한다.front: 덱의 가장 앞에 ..
-
Codeforces Round #488 by NEAR (Div. 2) - A. Fingerprints구현(Implementation) 2018. 6. 20. 15:53
http://codeforces.com/contest/994/problem/A 1. 문제 A. Fingerprintstime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are locked in a room with a door that has a keypad with 10 keys corresponding to digits from 0 to 9. To escape from the room, you need to enter a correct code. You also have a sequence of digits.Some keys on the keypad have fing..
-
백준 1225번: 이상한 곱셈구현(Implementation) 2018. 6. 20. 14:47
https://www.acmicpc.net/problem/1225 1. 문제A*B를 계산하다 지겨워진 형택이는 A*B를 새로운 방법으로 정의하려고 한다. A에서 한 자리를 뽑고 * B에서 임의로 한 자리를 뽑아 곱한다. 의 가능한 모든 조합 (A가 n자리, B가 m자리 수라면 총 가능한 조합은 n*m개)을 더한 수로 정의하려고 한다. 예를 들어 121*34는 1*3 + 1*4 + 2*3 + 2*4 + 1*3 + 1*4 = 28 이 된다. 이러한 형택이의 곱셈 결과를 구하는 프로그램을 작성하시오. 2. 알고리즘문제 그대로 풀면 됩니다. 3. 코드 1234567891011121314151617181920212223242526272829303132333435#include #include #include #i..
-
백준 10845번: 큐큐(Queue) 2018. 6. 20. 13:25
https://www.acmicpc.net/problem/10845 1. 문제정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다. push X: 정수 X를 큐에 넣는 연산이다.pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.size: 큐에 들어있는 정수의 개수를 출력한다.empty: 큐가 비어있으면 1, 아니면 0을 출력한다.front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. 2. 알고리즘큐 자료형 사..