백트래킹

안녕하세요, 이번 글에서는 백준 14503번 문제인 “로봇 청소기” 문제를 함께 해결해 보겠습니다. 이 문제는 주어진 영역을 로봇 청소기가 주어진 규칙에 따라 청소하는 문제입니다. 함께 문제를 분석하고, 접근 방법을 정리한 후, 최종적인 정답 코드를 확인해 보겠습니다. 문제 URL: https://www.acmicpc.net/problem/145031. 문제 설명1) 문제 개요 • 로봇 청소기가 주어진 영역을 청소하는 문제입니다. • 로봇은 현재 위치에서 북, 서, 남, 동 방향으로 이동하며, 주어진 규칙에 따라 청소를 수행합니다. 2) 입력 • 첫 번째 줄에 그리드의 크기 N과 M이 주어집니다. (1 ≤ N, M ≤ 50) • 두 번째 줄에 로봇 청소기의 초기 위치 (si, sj)와 초기 방향 (sd)..
이번 글에서는 백준 14888번 문제인 “연산자 끼워넣기”를 함께 해결해 보겠습니다. 이 문제는 주어진 수들과 연산자를 사용하여 만들 수 있는 최대값과 최소값을 구하는 문제입니다. 문제 URL : https://www.acmicpc.net/problem/14888 1. 문제 설명1) 문제 개요• 여러 개의 수가 주어지고, 이 수들 사이에 연산자를 끼워 넣어야 합니다.• 사용할 수 있는 연산자는 덧셈, 뺄셈, 곱셈, 나눗셈입니다.• 모든 가능한 연산의 조합을 탐색하여 만들 수 있는 결과의 최대값과 최소값을 구합니다. 2) 입력• 첫 번째 줄에 수의 개수 N이 주어집니다. (2 ≤ N ≤ 11)• 두 번째 줄에 N개의 수가 주어집니다. (1 ≤ 수 ≤ 100)• 세 번째 줄에 덧셈, 뺄셈, 곱셈, 나눗셈 연..
이번 글에서는 백준 14889번 문제 “스타트와 링크”를 함께 해결해 보겠습니다. 이 문제는 N명의 사람들이 두 팀으로 나누어질 때, 두 팀의 능력치 차이를 최소화하는 문제입니다. 1. 문제 설명1) 문제 개요 • N명의 사람들이 두 팀으로 나뉘어 게임을 합니다. • 각 사람마다 다른 사람과 팀을 이루었을 때의 능력치가 주어집니다. • 두 팀의 능력치 차이를 최소화하는 것이 목표입니다. 2) 입력 • 첫 번째 줄에 사람의 수 N이 주어집니다. (4 ≤ N ≤ 20, N은 짝수) • 두 번째 줄부터 N개의 줄에 걸쳐 각 사람의 능력치가 주어집니다. 3) 출력 • 두 팀의 능력치 차이의 최솟값을 출력합니다. 2. 접근법1) 입력받기 • sys.stdin.readline을 사용하여 입력 속도를 높입니다. • ..
안녕하세요! 오늘은 백준의 10819번 문제인 “차이를 최대로” 문제를 함께 풀어보겠습니다. 이 문제는 주어진 수열에서 인접한 원소의 차의 절댓값의 합을 최대로 만드는 문제입니다.1. 문제 설명1) 문제 개요• 주어진 수열을 이용하여 인접한 원소의 차의 절댓값의 합을 최대로 만드는 순열을 찾아야 합니다.• 주어지는 수열의 길이  N 은 3 이상 8 이하입니다.2) 입력• 첫 줄에 수열의 길이  N 이 주어집니다.• 두 번째 줄에 수열  A 가 주어집니다.3) 출력• 인접한 원소의 차의 절댓값의 합 중 최댓값을 출력합니다. 문제URL : https://www.acmicpc.net/problem/10819 2. 접근법1) 입력받기• sys.stdin.readline을 사용하여 입력 속도를 높입니다.• 첫 번..
안녕하세요! 오늘은 백준 온라인 저지의 문제 번호 15649번과 15650번을 풀어보겠습니다. 이 문제들은 주어진 숫자들을 조합하여 특정 조건을 만족하는 수열을 찾는 문제입니다. 각 문제를 자세히 살펴보고, Python 코드를 통해 해결해보겠습니다. 1. 문제 설명 15649번: N과 M (1) 주어진 숫자 N까지의 자연수 중에서 중복 없이 M개를 고른 수열을 모두 구하는 문제입니다.문제 URL : https://www.acmicpc.net/problem/15649 15650번: N과 M (2) 주어진 숫자 N까지의 자연수 중에서 중복 없이 M개를 고른 수열을 모두 구하되, 수열은 오름차순이어야 합니다.문제 URL : https://www.acmicpc.net/problem/15650  2. 접근법공통 ..
D_JAKE
'백트래킹' 태그의 글 목록
상단으로