본문 바로가기

백준 & 프로그래머스52

백준.바이러스.2606.py https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net import sys import collections def virus(adj_dic): bfs_visited = {k : False for k in adj_dic} # 노드 방문여부 bfs_visit_list = [] # 방문한 결과 bfs_deque = collections.deque() # 큐 def bfs(node): bfs_visited[node] = True bfs_visit_list.app.. 2023. 9. 15.
백준.등수 구하기.1205.py https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 조건: 10 2023. 9. 13.
백준.11724.연결 요소의 개수.py https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net # BFS로 안풀고 집합으로 풀어보기 import sys if __name__ == '__main__': n, m = map(int, sys.stdin.readline().strip().split()) # 간선이 없을때 처리 if m == 0: print(n) exit() # 리스트와 집합 형식으로 받기 node_list, node_.. 2023. 9. 12.
백준.올림픽.8979.py https://www.acmicpc.net/problem/8979 8979번: 올림픽 입력의 첫 줄은 국가의 수 N(1 ≤ N ≤ 1,000)과 등수를 알고 싶은 국가 K(1 ≤ K ≤ N)가 빈칸을 사이에 두고 주어진다. 각 국가는 1부터 N 사이의 정수로 표현된다. 이후 N개의 각 줄에는 차례대로 각 www.acmicpc.net import sys if __name__ == '__main__': n, k = map(int, sys.stdin.readline().strip().split(' ')) con, k_list = [], [] for _ in range(n): tm = list(map(int, sys.stdin.readline().strip().split(' '))) if tm[0] == k: .. 2023. 9. 12.
백준.디지털 티비.2816.py https://www.acmicpc.net/problem/2816 2816번: 디지털 티비 2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다. 원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니 www.acmicpc.net import sys # 원하는 채널로 가서 cnt로 와주는 함수 def write(cnt1, num_str1,cnt2, num_str2): for i in range(cnt1): sys.stdout.write(num_str1) for i in range(cnt2): sys.stdout.write(num_str2) if __name__ == '__main__': n, kbs_di.. 2023. 9. 11.
백준.카드게임.py https://www.acmicpc.net/problem/2621 2621번: 카드게임 근우는 오늘 재미있는 카드 게임을 배우고 있다. 카드는 빨간색, 파란색, 노란색, 녹색의 네 가지 색이 있고, 색깔별로 1부터 9까지 숫자가 쓰여진 카드가 9장씩 있다. 카드는 모두 36(=4x9)장이다. www.acmicpc.net # 풀이 설계 # 일단 규칙대로 처리하는 함수 하나 만든다. def cal_score(c, ns): score = [] # 조건1 & 4 if len(set(c)) == 1: sort_n = sorted(ns) tm = sort_n[0] for s_n in sort_n[1:5]: tm += 1 if tm != s_n: tm = -100 if tm > 0: score.append(sort_.. 2023. 9. 11.