[Baekjoon] 25192. 인사성 밝은 곰곰이
·
코딩테스트/Python
🔗 Problem Linkhttps://www.acmicpc.net/problem/25192❔Thinking채팅방의 채팅 로그를 파악해, 이모티콘이 사용된 횟수를 파악한다.ENTER 이후에 첫 채팅은 모두 이모티콘이므로, ENTER와 다음 ENTER사이의 중복 제거된 아이디의 수를 구한다.💻Solutionimport sysinput = sys.stdin.readlineN = int(input().rstrip())gomgom = 0hi_set = set()for i in range(N): log = input().rstrip() if log == 'ENTER': gomgom += len(hi_set) hi_set = set() else: hi_set..
[Baekjoon] 1389. 케빈 베이컨의 6단계 법칙
·
코딩테스트/Python
🔗 Problem Link 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net ❔Thinking N명의 사람에 대한 친구관계가 주어질 때, 베이컨 법칙에 따른 총합이 제일 적은 사람을 반환한다. 💻Solution 1. 플로이드-워셜을 활용한 풀이 import sys input = sys.stdin.readline INF = int(1e9) n, m = map(int, input().split()) graph = [[INF] * (n+1) for _ in range(..
[Baekjoon] 1012. 유기농 배추
·
코딩테스트/Python
🔗 Problem Link 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net ❔Thinking 배추밭과 배추의 위치가 주어질 때, 배추를 보호하는 최소한의 배추흰지렁이 수를 반환한다. 배추흰지렁이는 인접한 모든 배추를 보호할 수 있다. 💻Solution import sys from collections import deque input = sys.stdin.readline dx = [-1,1,0,0] dy = [0,0,-1, 1] T = int(input()) for _ in range(T): M, N, K = map(in..
[Baekjoon] 4485. 녹색 옷 입은 애가 젤다지?
·
코딩테스트/Python
🔗 Problem Link 4485번: 녹색 옷 입은 애가 젤다지? 젤다의 전설 게임에서 화폐의 단위는 루피(rupee)다. 그런데 간혹 '도둑루피'라 불리는 검정색 루피도 존재하는데, 이걸 획득하면 오히려 소지한 루피가 감소하게 된다! 젤다의 전설 시리즈의 주 www.acmicpc.net ❔Thinking NxN 크기의 공간이 주어질 때, (0,0)에서 출발해 (N-1, N-1)로 이동하는 최소 비용을 반환한다. 💻Solution import heapq INF = int(1e9) dx = [-1,1,0,0] dy = [0,0,-1,1] def dijkstra(x, y, graph): q = [] n = len(graph) heapq.heappush(q, (graph[x][y], x, y)) while ..
[Baekjoon] 6497. 전력난
·
코딩테스트/Python
🔗 Problem Link 6497번: 전력난 성진이는 한 도시의 시장인데 거지라서 전력난에 끙끙댄다. 그래서 모든 길마다 원래 켜져 있던 가로등 중 일부를 소등하기로 하였다. 길의 가로등을 켜 두면 하루에 길의 미터 수만큼 돈이 들 www.acmicpc.net ❔Thinking 마을과 임의의 두 마을 사이의 거리가 주어질 때, 모든 마을을 연결하는 최소 비용의 가로등 설치 비용을 반환한다. 가로등은 두 마을 사이의 거리만큼의 비용이 든다. 💻Solution import heapq def find_parent(parent, x): if parent[x] != x: parent[x] = find_parent(parent, parent[x]) return parent[x] def union_parent(pa..
[Baekjoon] 14501. 퇴사
·
코딩테스트/Python
🔗 Problem Link 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net ❔Thinking 상담에 걸리는 시간과 상담에 따른 이익이 주어질 때, N+1일 이후에 얻게되는 최대 이익을 반환한다. 💻Solution n = int(input()) dp = [0] * (n+1) table = [] max_price = 0 for i in range(1, n+1): t, p = map(int, input().split()) table.append([t,p]) for i in range(n-1, -1, -1): time = table[i][0] + i if time