분류 전체보기

알고리즘

[BOJ] 1012번. 유기농 배추

www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 드디어 마지막 문제 풀이입니다! 고생 많으셨어요! 이 문제는 탐색 문제입니다. 이번 포스팅에서는 bfs탐색으로 같이 풀어보겠습니다. 이러한 xy좌표가 있는 문제는 풀이 과정이 거의 비슷한 것 같습니다. 깊이 우선 탐색과 너비 우선 탐색은 잘 알고 있다고 가정하고, 어떻게 이 알고리즘들이 적용되었는지 먼저 코드를 보면서 살펴보겠습니다. #include #include using namespace std; int field[5..

알고리즘

[BOJ] 1654번. 랜선 자르기 & 수 찾기

www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 이번 문제는 이분 탐색을 이용해 풀 수 있었습니다. 이분 탐색은요, 이분동안 탐색을 하는게 아니라 긴 수를 2개로 나누어 탐색하는 방식입니다. 간단한 알고리즘이니 같이 살펴보겠습니다! [이분 탐색] 1 부터 100까지의 숫자가 있고, 63을 찾는다고 생각해봅시다. 이분 탐색에는 세가지 변수가 필요합니다. low : 찾는 수 중 제일 작은 수 High : 찾는 수 중 제일 큰 수 mi..

알고리즘

[BOJ] 1193번. 분수찾기

www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 예시로 주어진 그림을 자세히 보면, 대각으로 규칙이 있습니다. 빨간 대각 선을 기준으로, 분자와 분모의 합은 같습니다. 우리가 찾아낸 규칙을 통해 다음과 같은 규칙을 생각해 볼 수 있을 것 같습니다. 1. 우리가 찾을 X번째의 대략적인 위치를 찾는다. (분모 + 분자를 통해서 2, 3, 3, 4, 4, 4, 5, 5, 5, 5, . . .) 2. 대략적으로 찾은 위치에서 분자/분모를 하여 분자가 1 ~ n까지 분모는 n ~ 1까지 하여 X의 위치를 찾아냅니다. 코드는 다음과 같습니다. #include int main() { int user_i..

알고리즘

[BOJ] 14564번 역원(Inverse) 구하기

www.acmicpc.net/problem/14565 14565번: 역원(Inverse) 구하기 집합 Zn을 0부터 n-1까지의 정수 집합이라고 하자. Zn ∋ a, b, c 일 때, (a+b) mod n = 0이면 b는 a의 덧셈역이라고 하고 (a*c) mod n = 1이면 c는 a의 곱셈역이라고 한다. 정수 N, A가 주어졌을 때 Zn에서의 A의 www.acmicpc.net 나머지 연산의 덧셈 역과 곱셈 역을 구하는 문제입니다. 덧셈역은 쉽게 구할 수 있지만 곱셈 역은 구하기 어려워보입니다. 1. 덧셈역 구하기 어떤 수 A와 M을 안다고 가정할 때, A%M을 0으로 만드는 덧셈 역 C는 M-A입니다. 이는 생각해보면 매우 간단합니다. 아래의 예를 볼까요? 5 % 13 = 5입니다. 13 % 13 = ..

Buzz_BEAR
'분류 전체보기' 카테고리의 글 목록 (13 Page)