본문 바로가기
반응형

전체 글252

[백준][Python] 20365번 블로그2 20365번: 블로그2 neighbor 블로그를 운영하는 일우는 매일 아침 풀고 싶은 문제를 미리 정해놓고 글을 올린다. 그리고 매일 밤 각각의 문제에 대하여, 해결한 경우 파란색, 해결하지 못한 경우 빨간색으로 칠한 www.acmicpc.net 코드 n = int(input()) n_list = input() color = [0,0] if n_list[0] == 'R': color[0]+=1 else: color[1]+=1 for i in range(1,n): if n_list[i] == 'R': if n_list[i-1] != n_list[i]: color[0]+=1 elif n_list[i] == 'B': if n_list[i-1] != n_list[i]: color[1]+=1 print(min(c.. 2022. 4. 6.
[백준][Python] 1541번 잃어버린 괄호 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net 코드 a = input().split('-') n_list = [] for i in a: b = i.split('+') num = 0 for j in b: num += int(j) n_list.append(num) ans = n_list[0] for i in range(1,len(n_list)): ans -= n_list[i] print(ans) 설명 마이너스를 기준으로 괄호를 치는 것이 가장 최솟값을 만들 수 있다. 그래서 우선 수식을 ' - '를 기준으.. 2022. 4. 5.
[백준][Python] 11047번 동전 0 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 코드 import sys n_list = [] n, k = map(int,sys.stdin.readline().split()) for _ in range(n): num = int(sys.stdin.readline()) n_list.append(num) ans = 0 n_list.sort(reverse=True) for i in n_list: if k >= i: ans += k//i k = k%i pr.. 2022. 4. 1.
[백준][Python] 20300 서강근육맨 20300번: 서강근육맨 PT 첫째 날에 $1$과 $4$를 선택하고, 둘째 날에 $2$와 $3$을 선택하고, 마지막 날에 $5$를 선택하면 $M$은 $5$가 되며, 이때가 $M$이 최소일 때이다. www.acmicpc.net 코드 import sys n = int(input()) n_list = list(map(int,sys.stdin.readline().split())) n_list.sort() max = 0 if n%2 == 0: for i in range(n//2): num = n_list[i]+n_list[-1-i] if num > max: max = num else: for i in range(n//2): num = n_list[i]+n_list[-2-i] if num > max: max = n.. 2022. 3. 31.
[백준][Python] 20115번 에너지 드링크 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net 코드 import sys n = int(input()) n_list = list(map(int,sys.stdin.readline().split())) n_list.sort(reverse=True) ans = n_list[0] for i in range(1,n): ans += n_list[i] / 2 print('%g'%ans) 설명 입력받은 수를 내림차순으로 정렬해서 가장 양이 많은 드링크에 나머지 드링크들을 합친다. 파이썬에서 /를 사용해서 나누면 소숫점 15자.. 2022. 3. 30.
[백준][Python] 11508번 2+1 세일 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net 코드 import sys n = int(input()) n_list = [] for _ in range(n): a = int(sys.stdin.readline()) n_list.append(a) n_list.sort(reverse=True) ans = 0 for i in range(n): if (i+1) % 3 != 0: ans += n_list[i] print(ans) 설명 숫자를 입력받아서 리스트에 넣은 후 내림차순으로 정렬해주었다. 그다음에 그 수.. 2022. 3. 29.
[백준][Python] 1758번 알바생 강호 1758번: 알바생 강호 첫째 줄에 스타박스 앞에 서 있는 사람의 수 N이 주어진다. N은 100,000보다 작거나 같은 자연수이다. 둘째 줄부터 총 N개의 줄에 각 사람이 주려고 하는 팁이 주어진다. 팁은 100,000보다 작거나 같 www.acmicpc.net 코드 import sys n = int(input()) n_list = [] for _ in range(n): a = int(sys.stdin.readline()) n_list.append(a) n_list.sort(reverse=True) ans = 0 for i in range(n): t = n_list[i] - i if t>0: ans += t else: break print(ans) 설명 팁을 많이 주는 사람을 먼저 입장시키는 것이 최대.. 2022. 3. 28.
[백준][Python] 13305번 주유소 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net 코드 n = int(input()) len = list(map(int,input().split())) cost = list(map(int,input().split())) ans = 0 min = cost[0] for i in range(n-1): if cost[i] < min: min = cost[i] ans += min*len[i] print(ans) 설명 지금까지 가장 싼 주유소의 가격을 min에 저장해둔다. 처음은 한 곳밖에 없으니 무조건 거기.. 2022. 3. 25.
[백준][Python] 1343번 폴리오미노 1343번: 폴리오미노 첫째 줄에 사전순으로 가장 앞서는 답을 출력한다. 만약 덮을 수 없으면 -1을 출력한다. www.acmicpc.net 코드 x_list = list(input().split('.')) ans = [] err = 0 for i in range(len(x_list)): num = len(x_list[i]) if num > 0: if num % 2 == 0: while num != 0: if num >= 4: ans.append('AAAA') num -= 4 else: ans.append('BB') num -= 2 else: err = 1 break if i != len(x_list)-1: ans.append('.') if err == 1: print(-1) else: for i in .. 2022. 3. 24.
반응형