BOJ

알고리즘/BOJ

[백준/파이썬] 30023번 전구 상태 바꾸기

문제 주소: https://www.acmicpc.net/problem/30023 30023번: 전구 상태 바꾸기 $N$개의 전구가 일렬로 세워져 빛나고 있다. 각각의 전구는 빨간색, 초록색, 파란색 중 하나의 색으로 빛나고 있다. 지원이는 $N$개의 전구 중 연속한 세 전구를 선택한 후에 그 전구들의 상태를 www.acmicpc.net 문제 해석 문제 풀이 전구를 시작 색의 경우의 수는 3가지이다. 0122의 전구가 존재한다면 1. 012 2. 120 3. 201 다음의 경우의 수를 시작으로 0번째 전구와 동일하도록 끝까지 전구의 상태를 변경하여, 조건에 맞는다면 최솟값을 갱신해나간다. 문제 코드 import sys input = sys.stdin.readline # input n = int(input(..

알고리즘/BOJ

[백준/파이썬] 25063번 짱해커 이동식 KAUPC 항공대 알고리즘 대회 문제

https://www.acmicpc.net/problem/25603 25603번: 짱해커 이동식 첫 번째 줄에 정수 $N$, $K$가 주어진다. ($1 \le K < N \le 100\,000$) 두 번째 줄부터 $N$개의 기업 의뢰의 비용이 주어진다. 비용은 $1$ 이상 $10^9$ 이하의 정수이다. www.acmicpc.net 문제 해석 N개의 의뢰가 주어진다. 두번째 줄에 N개의 의뢰의 비용이 주어진다. 의뢰의 순서는 변경 불가능하다. 의뢰는 항상 K개 중 하나는 선택해야 한다. 최대한 난이도가 낮은 의뢰를 선택하면서, 가장 높은 비용의 최솟값을 구하면 되는 문제이다. 코드 from collections import deque input = __import__('sys').stdin.readline..

알고리즘/BOJ

[백준/파이썬] 14222번 배열과 연산

https://www.acmicpc.net/problem/14222 14222번: 배열과 연산 연산을 적용해서 1부터 N까지의 수가 모두 하나씩 있는 배열을 만들 수 있으면 1을, 없으면 0을 출력한다. www.acmicpc.net 문제 해석 n크기의 배열에 k만큼 수를 더하는 연산이 가능하다. 위의 연산을 통해 1~n까지 모든 수가 1개씩 존재하는 배열을 만들 수 있는지 출력하라. 코드 n, k = map(int, input().split()) arr = sorted(list(map(int, input().split())), reverse = True) check = [0] * (n + 1) for i in range(n): s = 0 temp = arr[i] while arr[i] + s * k 머리..

알고리즘/BOJ

[백준/파이썬] 16938번 캠프 준비

https://www.acmicpc.net/problem/16938 16938번: 캠프 준비 난이도가 10, 30인 문제를 고르거나, 20, 30인 문제를 고르면 된다. www.acmicpc.net 문제 해석 N개의 문제 i번째 문제의 난이도는 Ai 2문제 이상 사용 문제 난이도의 합은 L보다 크거나 같고 R보다 낮거나 같아야함. 가장 어려운문제와 가장 쉬운 문제의 난이도 차이는 X보다 크거나 같아야함. 첫째 줄에 N, L, R, X가 주어진다. 둘째 줄에는 문제의 난이도 A1, A2, ..., AN이 주어진다. → 캠프에 사용할 문제를 고르는 방법의 수 코드 input = __import__('sys').stdin.readline n, l, r, x = map(int, input().split()) a..

알고리즘/BOJ

[BOJ/python] 1715번 카드 정렬하기

https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 해석 숫자 묶음이 주어진다. 주어진 숫자 묶음을 비교할 때 가장 적은 횟수로 비교하는 횟수를 구하는 문제. 코드 import heapq input = __import__('sys').stdin.readline n = int(input()) hq = [] ans = 0 for _ in range(n): heapq.heappush(hq, int(input())) while len(hq) > 1: a = heapq.heappop(hq) b = heapq.heappop(hq) ans += a + b heapq.he..

알고리즘/BOJ

[BOJ/python] 17141번 연구소 2

https://www.acmicpc.net/problem/17141 17141번: 연구소 2 인체에 치명적인 바이러스를 연구하던 연구소에 승원이가 침입했고, 바이러스를 유출하려고 한다. 승원이는 연구소의 특정 위치에 바이러스 M개를 놓을 것이고, 승원이의 신호와 동시에 바이 www.acmicpc.net 문제 해석 1은 벽이고, 2는 바이러스를 놓을 수 있는 연구소에 m개의 바이러스를 선택하여 퍼지도록 하였을 때 최소 시간이 되는 경우의 시간을 출력하시오. 코드 # BOJ 17141 from collections import deque n, virusNum = map(int, input().split()) arr = [] start = [] wall = [] dx, dy = [-1, 1, 0, 0], [0..

ddingmin00
'BOJ' 태그의 글 목록