본문 바로가기
728x90

TIL - 프로그래밍/Python 알고리즘198

[프로그래머스] Lv. 2 메뉴 리뉴얼 https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 생각 from collections import Counter 중복된 거 갯수 세서 dictionary 형태로 만들어준다. 문제를 제대로 이해하지 못해 1시간 넘게 잘못된 코드를 짬... 힘들었다. 문제가 기니깐 집중력이 많이 떨어지는 듯 가장 많이 함께 주문된 단품메뉴 조합을 ABC가 메뉴 구성에 있으면 AB,BC,AC는 들어가면 안된다고 생각함...ㅜ 코드 계.. 2022. 6. 23.
[백준] 11047. 동전 0 - Python https://www.acmicpc.net/problem/11047 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 생각1 - 이진 탐색 뺄 수 있는 값 중 가장 큰 값을 이진 탐색을 통해 찾기 그 값을 K에서 빼줄 수 있는 만큼 빼기 K가 0이 될 때까지 반복 코드1 from sys import stdin input = stdin.readline # 동전의 종류, 동전 가치의 합 N,K = map(int,input().split()) value .. 2022. 6. 22.
[백준] 11399. ATM - Python https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 생각 i번 사람은 1~(i-1)번 사람의 돈 인출 시간만큼 대기해야함 앞 사람의 인출 시간이 적을수록 전체 인출 시간이 줄어듬 1번사람의 인출을 (N-1)명이 기다림 i번 사람의 인출을 (N-i)명이 기다림 코드 from sys import stdin input = stdin.readline # 사람의 수 N = int(input()) # 각 사람이 돈을 인출하는데 걸리는 시간 P = list(map(int,input().sp.. 2022. 6. 22.
[백준] 15654. N과 M (5) ~ (8) - Python https://www.acmicpc.net/problem/15654 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 코드 from sys import stdin # N개의 자연수 중 M개 고르기 N,M = map(int,stdin.readline().split()) num = list(map(int,stdin.readline().split())) # 사전 순 출력을 위해 num.sort() # 수열, 수열에 들어간 요소 표시 def check(arr,visited): # 수열의 길이가 M인가? if l.. 2022. 6. 21.
[백준] 1916. 최소비용 구하기 - Python https://www.acmicpc.net/problem/1916 1916번: 최소비용 구하기 첫째 줄에 도시의 개수 N(1 ≤ N ≤ 1,000)이 주어지고 둘째 줄에는 버스의 개수 M(1 ≤ M ≤ 100,000)이 주어진다. 그리고 셋째 줄부터 M+2줄까지 다음과 같은 버스의 정보가 주어진다. 먼저 처음에는 그 www.acmicpc.net 생각 한 점에서 다른 점으로 가는 최소 비용 : 다익스트라 코드 from sys import stdin, maxsize import heapq input = stdin.readline # 도시의 개수 N = int(input()) # 버스의 개수 M = int(input()) money = [[] for _ in range(N+1)] for _ in range(M.. 2022. 6. 21.
[백준] 17144. 미세먼지 안녕! - Python https://www.acmicpc.net/problem/17144 17144번: 미세먼지 안녕! 미세먼지를 제거하기 위해 구사과는 공기청정기를 설치하려고 한다. 공기청정기의 성능을 테스트하기 위해 구사과는 집을 크기가 R×C인 격자판으로 나타냈고, 1×1 크기의 칸으로 나눴다. 구사 www.acmicpc.net 생각 공기청정기 위치 확인 미세먼지 확산 : 동시에!! 공기청정기 돌리기 : 위쪽, 아래쪽 따로 1~2를 T번 반복 미세먼지 양 출력 코드 from sys import stdin # RxC 격자판, T초 후 결과 구하기 R,C,T = map(int,stdin.readline().split()) dust = [list(map(int,stdin.readline().split())) for _ in .. 2022. 6. 21.
반응형