- [ 백준 ][백준] 1700번: 멀티탭 스케줄링 - 파이썬2024-11-17 13:33:59백준 링크: 1700번: 멀티탭 스케줄링solved.ac 난이도: 골드 I시간 제한: 2 초메모리 제한: 128 MB문제기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전기용품의 플러그를 뺐다 꽂았다 하는 불편함을 겪고 있다. 그래서 준규는 자신의 생활 패턴을 분석하여, 자기가 사용하고 있는 전기용품의 사용순서를 알아내었고, 이를 기반으로 플러그를 빼는 횟수를 최소화하는 방법을 고안하여 보다 쾌적한 생활환경을 만들려고 한다.입력첫 줄에는 멀티탭 구멍의 개수 N (1 ≤ N ≤ 100)과 전기 용품의 총 사용횟수 K (1 ≤ K ≤ 100)가 정수로 주어진다. 두 번째 ..
- [ 백준 ][백준] 2812번: 크게 만들기 - 파이썬2024-11-16 10:37:45백준 링크: 2812번: 크게 만들기solved.ac 난이도: 골드 III시간 제한: 1 초메모리 제한: 128 MB문제N자리 숫자가 주어졌을 때, 여기서 숫자 K개를 지워서 얻을 수 있는 가장 큰 수를 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ K 출력입력으로 주어진 숫자에서 K개를 지웠을 때 얻을 수 있는 가장 큰 수를 출력한다.코드import sysinput = sys.stdin.readlinen, k = map(int, input().split())numbers = input().rstrip()stack = []for number in numbers: while stack and stack[-1] 0: stack.pop() k -= 1..
- [ 백준 ][백준] 12904번: A와 B - 파이썬2024-11-12 19:39:35백준 링크: 12904번: A와 Bsolved.ac 난이도: 골드 V시간 제한: 2 초메모리 제한: 512 MB문제수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다.입력첫째 줄에 S가 둘째 줄에 T가 주어진다. (1 ≤ S의 길이 ≤ 999, 2 ≤ T의 길이 ≤ 1000, S의 길이 출력S를 T로 바꿀 수 있으면 1을 없으면 0을 출력한다.코드S = list(map(str, input()))T = list(map(str, input()))while len(S) != len(T): if T[-1] == 'A': T.pop() ..
- [ 백준 ][백준] 1744번: 수 묶기 - 파이썬2024-11-11 18:26:10백준 링크: 1744번: 수 묶기solved.ac 난이도: 골드 IV시간 제한: 2 초메모리 제한: 128 MB문제길이가 N인 수열이 주어졌을 때, 그 수열의 합을 구하려고 한다. 하지만, 그냥 그 수열의 합을 모두 더해서 구하는 것이 아니라, 수열의 두 수를 묶으려고 한다. 어떤 수를 묶으려고 할 때, 위치에 상관없이 묶을 수 있다. 하지만, 같은 위치에 있는 수(자기 자신)를 묶는 것은 불가능하다. 그리고 어떤 수를 묶게 되면, 수열의 합을 구할 때 묶은 수는 서로 곱한 후에 더한다.입력첫째 줄에 수열의 크기 N이 주어진다. N은 50보다 작은 자연수이다. 둘째 줄부터 N개의 줄에 수열의 각 수가 주어진다. 수열의 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다.출력수를 합이 ..
- [ 백준 ][백준] 2437번: 저울 - 파이썬2024-11-10 13:15:08백준 링크: 2437번: 저울solved.ac 난이도: 골드 II시간 제한: 1 초메모리 제한: 128 MB문제하나의 양팔 저울을 이용하여 물건의 무게를 측정하려고 한다. 이 저울의 양 팔의 끝에는 물건이나 추를 올려놓는 접시가 달려 있고, 양팔의 길이는 같다. 또한, 저울의 한쪽에는 저울추들만 놓을 수 있고, 다른 쪽에는 무게를 측정하려는 물건만 올려놓을 수 있다.입력첫 째 줄에는 저울추의 개수를 나타내는 양의 정수 N이 주어진다. N은 1 이상 1,000 이하이다. 둘째 줄에는 저울추의 무게를 나타내는 N개의 양의 정수가 빈칸을 사이에 두고 주어진다. 각 추의 무게는 1이상 1,000,000 이하이다.출력첫째 줄에 주어진 추들로 측정할 수 없는 양의 정수 무게 중 최솟값을 출력한다.코드import s..
- [ 백준 ][백준] 1339번: 단어 수학 - 파이썬2024-11-09 11:31:46백준 링크: 1339번: 단어 수학solved.ac 난이도: 골드 IV시간 제한: 2 초메모리 제한: 256 MB문제민식이는 수학학원에서 단어 수학 문제를 푸는 숙제를 받았다.입력첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 10개이고, 수의 최대 길이는 8이다. 서로 다른 문자는 서로 다른 숫자를 나타낸다.출력첫째 줄에 주어진 단어의 합의 최댓값을 출력한다.코드import sysN = int(sys.stdin.readline())S = [sys.stdin.readline().strip() for _ in range(N)]words = {}for s i..
- [ 백준 ][백준] 1202. 보석 도둑 - 파이썬2024-11-04 18:25:55백준 링크: 1202번: 보석 도둑solved.ac 난이도: 골드 II시간 제한: 1 초메모리 제한: 256 MB문제세계적인 도둑 상덕이는 보석점을 털기로 결심했다.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N, K ≤ 300,000)출력첫째 줄에 상덕이가 훔칠 수 있는 보석 가격의 합의 최댓값을 출력한다.코드import sys, heapqN, K = map(int, sys.stdin.readline().split())jew = []for _ in range(N): heapq.heappush(jew, list(map(int, sys.stdin.readline().split())))bags = []for _ in range(K): bags.append(int(sys.stdin.readline(..
- [ 백준 ][백준] 21313. 문어 - 파이썬2024-11-03 21:09:41백준 링크: 21313번: 문어solved.ac 난이도: 브론즈 II시간 제한: 1 초메모리 제한: 1024 MB문제문어에게 여덟개의 팔이 있다는 사실은 잘 알려져 있다. 하지만 문어들이 자신의 팔들을 1번, 2번, 3번, ..., 8번이라고 부른다는 말은 오늘 처음 들었을 것이다! 단, 시계방향으로 오름차순이라던가 하는 규칙은 없다. (물론 그러한 문어도 존재할 수 있다.) 문제에선 편의상 팔 대신 손이라고 부르자.입력문어의 수 N(4 ≤ N ≤ 1,000)이 주어진다.출력N마리의 문어들로 만들 수 있는 길이 N의 수열 중 사전순으로 가장 앞서는 것을 출력한다.코드n = int(input())ans = [1, 2] * (n//2) + ([3] if n%2 else [])print(*ans)