728x90

Total

728x90

    디스크 컨트롤러 (힙, 우선순위 큐)

    https://school.programmers.co.kr/learn/courses/30/lessons/42627 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 리스트 끝나는 시간 정렬해서 풀 경우 (1,3)(0,2) ➔ 시작 불가하므로 불가능 풀이 from heapq import heappush, heappop def solution(jobs): answer=0 h=[] pre=-1 # 직전 종료 시각 i=0 # 현재 시각 cnt=0 # 처리개수 while cnt

    로그인 성공?

    def solution(id_pw, db): for x in db: if x[0]==id_pw[0]: if x[1]==id_pw[1]: return "login" else: return "wrong pw" return "fail"

    [3079] 입국심사 (이분 탐색)

    3079번: 입국심사 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) www.acmicpc.net """ 입국심사대는 총 N, 상근이와 친구들은 총 M k번 심사대에 앉아있는 심사관이 한 명을 심사를 하는데 드는 시간은 Tk 상근이와 친구들이 심사를 받는데 걸리는 시간의 최솟값 첫째 줄에 N과 M이 주어진다. (1 ≤ N ≤ 100,000, 1 ≤ M ≤ 1,000,000,000) 다음 N개 줄에는 각 심사대에서 심사를 하는데 걸리는 시간인 Tk가 주어진다. (1 ≤ Tk ≤ 109) 2 6 7 10 """ n,m=map(int, input()..

    모음사전 (완전 탐색, product)

    from itertools import product def solution(word): arr=['A', 'E', 'I', 'O', 'U'] arr.sort() prod=[] for i in range(1,6): prod+=list(product(arr, repeat=i)) prod.sort() cnt=1 for x in prod: str="".join(x) print(str) if str==word: break else: cnt+=1 return cnt

    귤고르기 (정렬, Counter)

    from collections import Counter def solution(k, tangerine): answer=0 d=Counter(tangerine) d = sorted(d.items(), key=lambda x: x[1], reverse=True) if len(d)==1: return 1 else: sum=0 for i in range(len(d)): if k>sum: sum += d[i][1] answer+=1 else: break return answer

    소수찾기 (완전 탐색, permutations)

    프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import permutations import math def solution(numbers): answer={} nums=[] for i in range(1,len(numbers)+1): nums+=permutations(numbers, i) for x in nums: n=int("".join(x)) if n

    호텔대실 (구현)

    https://school.programmers.co.kr/learn/courses/30/lessons/155651 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(book_time): check = [0]*1440 for times in book_time: sh, sm = map(int, times[0].split(':')) eh, em = map(int, times[1].split(':')) start = sh * 60 + sm end = eh * 60 + em + 10 # 청소시간 10분 포함 if end > 1440: # 24..

    피로도 (던전탐험, 완전 탐색, permutations)

    https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr """ 최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, 소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. """ from itertools import permutations def solution(k, dungeons): max_cnt=0 for x in permutations(dungeons, len(dungeons)): hp=k ..

    사라지는 발판 (DFS)

    https://school.programmers.co.kr/learn/courses/30/lessons/92345 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 dr=[0,0,-1,1] dc=[1,-1,0,0] def solution(board, aloc, bloc): n=len(board) m=len(board[0]) visited = [[0]*5 for _ in range(5)] # 방문 block=[[0]*5 for _ in range(5)] # 발판 def dfs(p1,p2): r, c = p1[0], p1[1] # 현재 플레이어 좌표 opr..

    [1231] 주식왕 동호 (냅색 알고리즘)

    1231번: 주식왕 동호 첫 줄에는 주식의 개수 C(1 ≤ C ≤ 50)과 주식 매입 및 매각을 할 기간 D(2 ≤ D ≤ 10), 초기 자금 M(1 ≤ M ≤ 200,000)이 공백으로 구분되어 주어진다. 두 번째 줄부터 C+1번째 줄까지 각 줄에는 각각 주 www.acmicpc.net 분석 [12865] 평범한 배낭 (냅색 알고리즘) 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진다. 두 번째 줄부터 N개의 줄에 거쳐 각 물건의 무게 W(1 ≤ W ≤ 100,000)와 해당 물건의 karla.tistory.com 풀이 import sys input=sys.stdin.readline c,d,m=map(int..