Greedy15 [프로그래머스 Lv.1] 체육복 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(n, lost, reserve): # 2 2023. 9. 29. [백준 17392번] 우울한 방학 17392번: 우울한 방학 1일, 5일, 8일에 약속을 순서대로 배치하면, 4일과 10일에 각각 1만큼의 우울함을 느끼게 되어, 총 2만큼의 우울함을 느끼게 된다. 이보다 덜 우울함을 느끼게 만드는 방법은 존재하지 않는다. www.acmicpc.net n, m = map(int,input().split()) h = list(map(int,input().split())) def getUnhappy(num): total = 0 for i in range(1,num+1): total += i**2 return total happy = sum(h) + len(h) unhappy = m - happy area = [0] * (n+1) index = 0 for i in range(unhappy): area[inde.. 2023. 9. 29. [백준 13305번] 주유소 import sys input = sys.stdin.readline # n 입력받기 n = int(input()) # 총 비용 total = 0 # n-1개의 거리를 저장하는 리스트 distance = list(map(int,input().split())) # 주유소의 리터당 가격을 저장하는 리스트 price = list(map(int,input().split())) # 남은 거리 수 remain = sum(distance) # 현재 최소 거리 min_price = price[0] # 현재 누적된 거리 sum_distance = distance[0] for i in range(n-1): if i == n-2: total += (sum_distance * min_price) break if min_price 2023. 2. 24. [백준 3109번] 빵집 import sys input = sys.stdin.readline r,c = map(int,input().split()) area = [] result = 0 for _ in range(r): area.append(list(input().strip())) dx = [-1,0,1] dy = [1,1,1] def dfs(x,y): global result area[x][y] = 'o' if y == c-1: result += 1 return True for k in range(3): nx = x + dx[k] ny = y + dy[k] if 0 2023. 2. 9. [백준 5585번] 거스름돈 n = int(input()) change = 1000 - n money_unit = [500,100,50,10,5,1] count = 0 for i in money_unit: if change//i > 0: count += (change//i) change %= i print(count) 이번 문제는 그리디 알고리즘의 대표적인 기본 문제로, 그리디 알고리즘을 처음 공부할 때 내용을 이해하기 좋은 문제이다. 이 문제의 핵심은 잔돈을 최대한 적은 개수의 잔돈으로 거슬러주는 것인데, 위 문제와 같은 경우에는 모든 돈의 단위가 서로 배수 관계를 가지고 있기 때문에 단순히 금액이 큰 순서대로 거슬러 주어도 문제없이 풀 수 있다. 만약에 잔돈이 800원이고 가진 돈의 단위가 [500, 400, 100] 이라면 단.. 2023. 2. 8. [백준 1541번] 잃어버린 괄호 expression = input() # '-'를 기준으로 분할 # ex) ['00009','00009+00008'] split_exp = expression.split('-') for i in range(len(split_exp)): # 분할된 문자열들을 순서대로 '+'를 기준으로 분할 후 합을 구하기(내부는 +로만 이루어져 있기 때문) # 그리고 동시에 앞에 0으로 채워진 문자열들을 정수화 시킨다 # ex) [9, 17] split_plus = list(map(int,split_exp[i].split('+'))) split_exp[i] = sum(split_plus) # 첫 번째 원소를 제외한 나머지 원소들은 '-'를 기준으로 파싱되었기 때문에 모두 빼주면 된다. # ex) 9 - 17 print(s.. 2023. 2. 8. 이전 1 2 3 다음