BOJ

    [BOJ / 백준] 16637번 괄호 추가하기 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/16637 16637번: 괄호 추가하기 첫째 줄에 수식의 길이 N(1 ≤ N ≤ 19)가 주어진다. 둘째 줄에는 수식이 주어진다. 수식에 포함된 정수는 모두 0보다 크거나 같고, 9보다 작거나 같다. 문자열은 정수로 시작하고, 연산자와 정수가 www.acmicpc.net CODE import sys input = sys.stdin.readline result = -2 ** 31 - 1 # 최솟값 -1 def calc(num, op): # 남은 수식을 전부 계산하는 함수 while op: oper = op.pop(0) n1, n2 = num.pop(0), num.pop(0) if oper == '+': num.insert(0, n..

    [BOJ / 백준] 17088번 등차수열 변환 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 www.acmicpc.net CODE import copy import sys from itertools import permutations input = sys.stdin.readline # 배열에 회전 연산을 수행하는 함수 def rotate(p, arr): result = 5001 for pp in p: # 연산 순서가 저장된 리스트 p r, c, ss = pp[0] -..

    [BOJ / 백준] 17089번 세 친구 성공 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/17089 17089번: 세 친구 첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친구 관계의 수 M(0 ≤ M ≤ 4,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 의미하는 두 정수 A, B가 주어진다. 친구 관계는 A와 B, 그리고 B와 A가 친 www.acmicpc.net CODE import sys input = sys.stdin.readline n, m = map(int, input().split()) frd = [[False for _ in range(n)] for _ in range(n)] # 친구 여부 cnt = [0 for _ in range(n)] # 친구 수 for i in range(m)..

    [BOJ / 백준] 2422번 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/2422 2422번: 한윤정이 이탈리아에 가서 아이스크림을 사먹는데 첫째 줄에 정수 N과 M이 주어진다. N은 아이스크림 종류의 수이고, M은 섞어먹으면 안 되는 조합의 개수이다. 아래 M개의 줄에는 섞어먹으면 안 되는 조합의 번호가 주어진다. 같은 조합은 두 번 www.acmicpc.net CODE import sys input = sys.stdin.readline n, m = map(int, input().split()) ice = [[False for _ in range(n)] for _ in range(n)] for i in range(m): i1, i2 = map(int, input().split()) ice[i1 - ..

    [BOJ / 백준] 2210번 숫자판 점프 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/2210 2210번: 숫자판 점프 111111, 111112, 111121, 111211, 111212, 112111, 112121, 121111, 121112, 121211, 121212, 211111, 211121, 212111, 212121 이 가능한 경우들이다. www.acmicpc.net CODE import sys from itertools import product input = sys.stdin.readline dx = [1, -1, 0, 0] dy = [0, 0, 1, -1] num = list(list(map(int, input().split())) for _ in range(5)) result = [] for..

    [BOJ / 백준] 15686번 치킨 배달 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net CODE import sys from itertools import combinations input = sys.stdin.readline n, m = map(int, input().split()) city = list(list(map(int, input().split())) for _ in range(n)) result = 999999 house = []..

    [BOJ / 백준] 17088번 등차수열 변환 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/17088 17088번: 등차수열 변환 크기가 N인 수열 A = [A1, A2, ..., AN]이 있을 때, 모든 1 ≤ i < N에 대해서, Ai+1-Ai가 모두 일치하면 등차수열이라고 한다. 예를 들어, [3], [6, 6, 6], [2, 8, 14, 20], [6, 4, 2]는 등차수열이고, [4, 5, 4], [6, 3, 1] www.acmicpc.net CODE def check(i, j): cnt = abs(i) + abs(j) # 연산 횟수; 1, 2번째 원소의 연산 횟수로 초기화 arr = [] arr.append(b[1] + j) diff = b[1] + j - b[0] - i # 공차 == 1, 2번재 원소의 ..

    [BOJ / 백준] 3425번 고스택 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/3425 3425번: 고스택 각각의 입력값에 대해서, 해당하는 프로그램을 수행한 뒤, 출력값을 출력하면 된다. 출력값이란 스택에 저장되어 있는 숫자이다. 만약, 프로그램 에러가 발생하거나, 모든 수행이 종료됐을 때 www.acmicpc.net CODE import sys input = sys.stdin.readline def exec(commands, num): stack = [num] for cmd in commands: if cmd[:3] == "NUM": n = int(cmd[4:]) stack.append(n) elif not stack: return "ERROR" elif cmd == "POP": stack.pop() ..

    [BOJ / 백준] 16943번 숫자 재배치 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/16943 16943번: 숫자 재배치 두 정수 A와 B가 있을 때, A에 포함된 숫자의 순서를 섞어서 새로운 수 C를 만들려고 한다. 즉, C는 A의 순열 중 하나가 되어야 한다. 가능한 C 중에서 B보다 작으면서, 가장 큰 값을 구해보자. C는 0 www.acmicpc.net CODE from itertools import permutations a, b = input().split() b = int(b) c = -1 a_list = [] for item in permutations(a): a_list.append(''.join(item)) for i in a_list: if i[0] == '0': # 0으로 시작하는 경우 c..

    [BOJ / 백준] 16938번 캠프 준비 파이썬(Python) 문제 풀이

    문제 문제 링크 : https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net CODE import sys from itertools import combinations n, l, r, x = map(int, input().split()) a = list(map(int, sys.stdin.readline().split())) result = 0 a.sort() for i in range(n - 1): for j in range(n - 1, i, -1): if a[j] - a[i] >= x: for k in range(j - i): for m in combination..