목록전체 글 (270)
DHistory
문제 16206번: 롤케이크 오늘은 재현이의 생일이다. 재현이는 친구 N명에게 롤케이크를 1개씩 선물로 받았다. 롤케이크의 길이는 A1, A2, ..., AN이다. 재현이는 길이가 10인 롤케이크만 먹는다. 따라서, 롤케이크를 잘라서 www.acmicpc.net 풀이 """ 친구 N명에레 롤케이크 1개씩 롤케이크 길이 A1, A2, ..., An 길이가 10인 롤케이크만 먹는다. 롤케이크를 잘라서 길이가 10인 롤케이크를 최대한 많이 만든다. 1. 자를 롤케이크를 하나 고른다. 길이가 1보다 큰 롤케이크만 자를 수 있다. 이때, 고른 롤케이크의 길이를 x라고 한다. 2. 0보다 크고, x보다 작은 자연수 y를 고른다. 3. 롤케이크를 잘라 길이가 y, x-y인 롤케이크 두 개로 만든다. 롤케이크를 최대 ..
문제 1911번: 흙길 보수하기 어젯밤 겨울 캠프 장소에서 월드 본원까지 이어지는, 흙으로 된 비밀길 위에 폭우가 내려서 N(1 ≤ N ≤ 10,000)개의 물웅덩이가 생겼다. 월드학원은 물웅덩이를 덮을 수 있는 길이가 L(1 ≤ L ≤ 1,000 www.acmicpc.net 풀이 """ N개의 물웅덩이 물웅덩이를 덮을 수 있는 길이 L 물웅덩이를 덮기 위해 필요한 널빤지의 최소 개수 === example === 3 3 1 6 13 17 8 12 끝 위치는 포함하지 않는다. 111222. // 널빤지 .MMMMM. // 웅덩이 0123456 // 좌표 """ import sys from math import ceil n, l = map(int, sys.stdin.readline().rstrip().spl..
문제 17615번: 볼 모으기 첫 번째 줄에는 볼의 총 개수 N이 주어진다. (1 ≤ N ≤ 500,000) 다음 줄에는 볼의 색깔을 나타내는 문자 R(빨간색 볼) 또는 B(파란색 볼)가 공백 없이 주어진다. 문자열에는 R 또는 B 중 한 종류만 주 www.acmicpc.net 풀이 import sys n = int(sys.stdin.readline().rstrip()) balls = sys.stdin.readline().rstrip()[:n] def solution(balls): r = balls.split('B') b = balls.split('R') # 전체 움직일 볼의 개수 - 왼쪽 or 오른쪽중에 있는 더 많은 동일한 볼의 개수를 제거 (움직이지 않음) return min( balls.count..
문제 4889번: 안정적인 문자열 입력은 여러 개의 데이터 세트로 이루어져 있다. 각 데이터 세트는 한 줄로 이루어져 있다. 줄에는 여는 괄호와 닫는 괄호만으로 이루어진 문자열이 주어진다. 문자열의 길이가 2000을 넘는 경우 www.acmicpc.net 풀이 """ 여는 괄호와 닫는 괄호만 이루어진 문자열이 주어진다. 안정적인 문자열을 만들기 위한 최소 연산의 수를 구하시오. 안정적인 문자열이란? 1. 빈 문자열은 안정적이다. 2. S가 안정적이라면 {S}도 안정적인 문자열이다. 3. S와 T가 안정적이라면, ST도 안정적이다. 연산은 여는 괄호 => 닫는 괄호 / 닫는 괄호 => 여는 괄호 """ import sys def solution(line): if not line: return 0 queue..
문제 1105번: 팔 첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 풀이 """ L과 R이 주어진다. L보다 크거나 같고, R보다 작거나 같은 자연수 중 8이 가장 적에 들어있는 수에 들어있는 8의 개수는? 108 208 각 자리수에서 8이 나오지 않을 수 있는지 확인 48880 38808 """ l, r = input().split() def solution(l, r): if len(r) > len(l): return 0 carry_bit = False answer = 0 for i, j in zip(l, r): if not carry_bit and ..