백준 / 1238번 / 파티 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/1238  나의 풀이import heapqdef dijkstra(start): distances = [float('inf')] * (N + 1) distances[start] = 0 pq = [] heapq.heappush(pq, (0, start)) while pq: dist, now = heapq.heappop(pq) if distances[now] >= dist: for next_node, time in graph[now]: if dist + time  다익스트라로 최단 거리를 구해 그 중 가장 거리가 긴 값..
백준 / 2294번 / 동전 2 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/2294  문제n가지 종류의 동전이 있다. 이 동전들을 적당히 사용해서, 그 가치의 합이 k원이 되도록 하고 싶다. 그러면서 동전의 개수가 최소가 되도록 하려고 한다. 각각의 동전은 몇 개라도 사용할 수 있다.입력첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주어질 수도 있다.출력첫째 줄에 사용한 동전의 최소 개수를 출력한다. 불가능한 경우에는 -1을 출력한다. 예제 입력 1 3 151512예제 출력 1 3나의 풀이n, k = map(int, input().spli..
백준 / 1946번 / 신입사원 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/1946  문제언제나 최고만을 지향하는 굴지의 대기업 진영 주식회사가 신규 사원 채용을 실시한다. 인재 선발 시험은 1차 서류심사와 2차 면접시험으로 이루어진다. 최고만을 지향한다는 기업의 이념에 따라 그들은 최고의 인재들만을 사원으로 선발하고 싶어 한다.그래서 진영 주식회사는, 다른 모든 지원자와 비교했을 때 서류심사 성적과 면접시험 성적 중 적어도 하나가 다른 지원자보다 떨어지지 않는 자만 선발한다는 원칙을 세웠다. 즉, 어떤 지원자 A의 성적이 다른 어떤 지원자 B의 성적에 비해 서류 심사 결과와 면접 성적이 모두 떨어진다면 A는 결코 선발되지 않는다.이러한 조건을 만족시키면서, 진영 주식회사가 이번 신규 사원 채용에서 선발할 수 있..
Programmers / [PCCP 기출문제] 1번 / 동영상 재생기 / python
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/340213 나의 풀이def prevc(cur_time, op_start, op_end): if cur_time - 10 = video_len: cur_time = video_len else: if op_start = op_start and pos
백준 / 11286번 / 절댓값 힙 / python 파이썬
·
Coding Test/Baekjoon
문제 : https://www.acmicpc.net/problem/11286   문제절댓값 힙은 다음과 같은 연산을 지원하는 자료구조이다.배열에 정수 x (x ≠ 0)를 넣는다.배열에서 절댓값이 가장 작은 값을 출력하고, 그 값을 배열에서 제거한다. 절댓값이 가장 작은 값이 여러개일 때는, 가장 작은 수를 출력하고, 그 값을 배열에서 제거한다.프로그램은 처음에 비어있는 배열에서 시작하게 된다.입력첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0이라면 배열에서 절댓값이 가장 작은 값을 출력하고 그 값을 배열에서 제거하는 경우이다. 입력되는 정수는..
Programmers / [PCCP 기출문제] 2번 / 석유 시추 / python
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/250136  나의 풀이from collections import dequedef solution(land): n, m = len(land), len(land[0]) visited = [[False] * m for _ in range(n)] col_oil = [0] * m def bfs(a, b): dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] queue = deque([(a, b)]) visited[a][b] = True size = 0 colu..
Programmers / [PCCP 모의고사 1회] 3번 / 붕대 감기 / python
·
Coding Test/Programmers
문제 : https://school.programmers.co.kr/learn/courses/30/lessons/250137?language=python3 나의 풀이def attack(health, damage, max_health): health -= damage if health   + 함수 하나로 표현한 더 간단한 풀이def solution(bandage, health, attacks): max_health = health count = 0 attack_count = 0 time = 1 while time
Programmers / [PCCP 모의고사 1회] 3번 / 유전법칙 / python
·
Coding Test/Programmers
문제: https://school.programmers.co.kr/learn/courses/15008/lessons/121685 풀이def solution(queries): def find(n, p): if n == 1: return "Rr" parent = find(n-1, (p-1)//4+1) idx = (p-1) % 4 if parent == "RR": return "RR" elif parent == "rr": return "rr" else: return ["RR", "Rr", "Rr", "rr"][idx] return [find(n, ..