목록문제풀이/BOJ (33)
아임'준

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/14888 14888번: 연산자 끼워넣기 첫째 줄에 수의 개수 N(2 ≤ N ≤ 11)가 주어진다. 둘째 줄에는 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 100) 셋째 줄에는 합이 N-1인 4개의 정수가 주어지는데, 차례대로 덧셈(+)의 개수, 뺄셈(-)의 개수, www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 브루트포스 알고리즘, 백트래킹 풀이: 숫자의 개수, 숫자, 각 연산기호의 개수가 순서대로 입력으로 들어온다. 실제 연산과는 다르게 연산기호의 순서는 무시하고 앞에서부터 연산하면 된다. 문제에서 요구한 순서대로 연산기호를 리스트에 넣어둔다. solve ..

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/2580 2580번: 스도쿠 스도쿠는 18세기 스위스 수학자가 만든 '라틴 사각형'이랑 퍼즐에서 유래한 것으로 현재 많은 인기를 누리고 있다. 이 게임은 아래 그림과 같이 가로, 세로 각각 9개씩 총 81개의 작은 칸으로 이루 www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 백트래킹 풀이: 모르는 사람은 별로 없을 것 같지만 스도쿠는 3 x 3으로 판 9개로 이루어진 9 x 9의 판에 숫자를 채워넣는 게임이다. 숫자를 채워넣는 방법은 하나의 3 x 3 칸에 숫자 1~9까지의 숫자가 하나씩 들어가야 하고 9 x 9 판의 가로와 세로에도 1~9까지의 숫자가 하나씩 들어가야 한다...

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/9663 9663번: N-Queen N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오. www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 브루트포스 알고리즘, 백트래킹 풀이: N - Queen은 유명한 문제로 알고 있다. 문제도 이해하기 쉬운데 체스판에 퀸들이 서로 공격하지 못하게 놓는 문제를 의미한다. 해당 문제에서는 N을 입력받아 N x N 체스판에 퀸들을 서로 공격하지 못하게 두는 방법들의 개수를 찾는 것이 목표이다. 퀸의 공격 경로는 가로, 세로, ..

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/2981 2981번: 검문 트럭을 타고 이동하던 상근이는 경찰의 검문을 받게 되었다. 경찰은 상근이가 운반하던 화물을 하나하나 모두 확인할 것이기 때문에, 검문하는데 엄청나게 오랜 시간이 걸린다. 상근이는 시간 www.acmicpc.net 단계 : 정수론 및 조합론 알고리즘 분류 : 수학, 정수론, 유클리드 호제법 풀이: 얼핏보기에는 쉬워 보이는 문제이다. 하지만 그냥 쉽게해야지 하고 반복문 덕지덕지 써서 찾으려고 하면 시간초과가 나온다. 솔직히 말해서 푸는데 조금 걸렸다. 생각했던 방향에서 막히니까 어떤 방향으로 가야할지 막막했고 수학적으로 어떻게 풀어야할지 감이 안 잡혀서 방법을 생각하는..

2021.10.09 - [문제풀이/BOJ] - [BOJ / 파이썬] 15649: N과 M (1) 백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/15652 15652번: N과 M (4) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 백트래킹 풀이: N과 M의 마지막 문제이다. N과 M 두번째 문제와 세번째 문제를 합쳐놓은 문제이다. 기존 N과 M 1번 문제와 다른 점은 숫자를 고를 때 중복이 가능하나 비내림차순이어야 한다는 점이다. 내림..

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/15651 15651번: N과 M (3) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 백트래킹 풀이: 이 문제 역시 15649 - N과 M (1) 문제를 풀었다면 쉽게 풀 수 있는 문제이다. 보다 자세한 풀이를 원한다면 아래 링크 참조 2021.10.09 - [문제풀이/BOJ] - [BOJ / 파이썬] 15649: N과 M (1) N과 M (1)문제와 다른 점은 중복된 숫자 또한 추가할 ..

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/15650 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 백트래킹 풀이: 15649 - N과 M (1) 문제를 풀었다면 쉽게 풀 수 있는 문제이다. 보다 자세한 풀이를 원한다면 아래 링크 참조 2021.10.09 - [문제풀이/BOJ] - [BOJ / 파이썬] 15649: N과 M (1) N과 M (1)문제에 단지 오름차순이라는 변형만 있는 문제이다. 오름차순..

백준 / BOJ / Python / 파이썬 문제 링크 : https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 단계 : 백트래킹 알고리즘 분류 : 백트래킹 풀이: 숫자 두개 n, m을 받아서 1~n까지의 수 중 중복 없이 m개를 골라야한다. n, m이 정해져 있다면 일반적인 반복문으로 처리할 수 있겠지만 정해져 있기 때문에 다른 방법을 써야한다. 사실 n, m이 정해져 있어도 수가 크면 반복문으로 하기 어렵다. 문제 분류가 백트래킹이라고 하는데 백..