본문 바로가기

Algorithm Problems

(212)
[백준/Python] 2503번: 숫자 야구 문제 https://www.acmicpc.net/problem/2503 문제 요약 영수가 생각한 1부터 9까지 서로 다른 숫자 세 개로 구성된 세 자리 수를 N번 물어본다. 물어본 수와 스트라이크와 볼 개수를 입력한다. 영수가 생각하고 있을 가능성이 있는 답의 총 개수를 출력한다. 코드 from itertools import permutations N = int(input()) data = ['1', '2', '3', '4', '5', '6', '7', '8', '9'] arr = list(permutations(data, 3)) # arr은 1 ~ 9까지 숫자로 만들 수 있는 모든 세 자리 수들의 배열 (9P3) for _ in range(N): n, s, b = map(int, input().spli..
[백준/Python] 11055번: 가장 큰 증가하는 부분 수열 문제 https://www.acmicpc.net/problem/11055 11055번: 가장 큰 증가하는 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 www.acmicpc.net 문제 요약 수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 가장 큰 합을 출력한다. 예를 들어 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우, 가장 큰 증가하는 부분 수열은 {1, 100, 2, 50, 60, 3, 5, 6, 7, 8}이므로 답은 113이다. 코드 N = int(inpu..
[백준/Python] 2667번: 단지번호붙이기 문제 https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 문제 요약 N × N 크기의 지도에서 총 단지 수와 단지 별 집의 수를 출력한다. 단지는 연결된 집의 모임이다. 여기서 연결되었다는 것은 어떤 집이 좌우, 혹은 위아래로 다른 집이 있는 경우이다. + 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. + 각 단지에 속하는 집의 수를 오름차순으로 정렬하여 출력한다. 코드 def dfs(x, y): global cnt check[x][y] =..
[백준/Python] 잃어버린 괄호 문제 https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 문제 요약 주어진 식에 괄호를 적절히 하여 식의 값을 최소로 만들고 정답을 출력한다. 식은 '+', '-', '0'~'9' 만으로 이루어져 있다. 코드 string = input() arr = [] tmp_num = '' # arr에 string을 부호와 숫자로 나눠서 넣기 for ob in string: if ob != '-' and ob != '+': tmp_num += ob els..
[백준/Python] 21317번: 징검다리 건너기 문제 https://www.acmicpc.net/problem/21317 21317번: 징검다리 건너기 산삼을 얻기 위해 필요한 영재의 최소 에너지를 출력한다. www.acmicpc.net 문제 요약 N개의 돌이 일렬로 나열되어 있는 강가에서 마지막 돌에 산삼이 있다. 첫 번째 돌에서부터 출발하여 마지막 돌까지 산삼을 캐기 위해 돌과 돌 사이를 점프하며 이동해야한다. 점프의 종류 1. 현재 위치에서 다음 돌로 이동하는 작은 점프 2. 1개의 돌을 건너뛰어 이동하는 큰 점프 3. 2개의 돌을 건너뛰어 이동하는 매우 큰 점프 (1번만 사용 가능) 점프를 할 때는 점프를 하는 돌의 번호마다 다른 에너지가 소비된다. 매우 큰 점프는 돌의 번호와 상관없이 k만큼의 에너지가 소비된다. 산삼을 얻기 위해 필요한 에너..
[백준/Python] 10971번: 외판원 순회 2 문제 https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 문제 요약 외판원이 N개의 도시를 순회해야할 때, 필요한 최소 비용을 출력한다. 0번 ~ N -1번까지 도시들이 존재하고 (문제는 1번 ~ N번), 도시들 사이에는 길이 있다. (없을 수도 있다.) 외판원은 N개의 도시를 모두 거쳐야 하고 다시 원래의 도시로 돌아와야한다. 코드 # start번 도시에서 탐색 시작 # 현재 x번 도시에서 탐색 중 #..