본문 바로가기

분류 전체보기188

백준.듣보잡.1764.py https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net import sys if __name__ == '__main__': n, m = map(int, sys.stdin.readline().rstrip().split()) ng, mg = [], [] for _ in range(n): ng.append(sys.stdin.readline().rstrip()) for _ in range(m): mg.append(sys.stdin.readline().rst.. 2023. 9. 21.
백준.멀티탭 스캐줄링.1700.py https://www.acmicpc.net/problem/1700 1700번: 멀티탭 스케줄링 기숙사에서 살고 있는 준규는 한 개의 멀티탭을 이용하고 있다. 준규는 키보드, 헤어드라이기, 핸드폰 충전기, 디지털 카메라 충전기 등 여러 개의 전기용품을 사용하면서 어쩔 수 없이 각종 전 www.acmicpc.net 완전탐색으로 풀다가 => 시간초과 +메모리초과 => 그래도 나와있는 테케중엔 틀린거x 그리디로 다시 도전 성공 그리디 코드 # 교훈: 멀티탭을 사자 import sys def solution(start_set, procedures,n): case_set, pro_dic, case_cnt = start_set, dict(),0 for idx, pr in enumerate(procedures): if.. 2023. 9. 20.
백준.단지번호붙이기.2667.py https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net import sys def solution(house_adr_dic): def adj_add(house_add): # return adj adr list x,y = house_add return [(x-1,y),(x+1,y),(x,y-1),(x,y+1)] def dfs_set(node_dic): # dfs 알고리즘 tm_keys, adj_adr_list_set = set(node_dic.keys().. 2023. 9. 20.
백준.ATM.11399.py https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net import sys def solution(): total_time, n = 0, int(sys.stdin.readline().rstrip()) input_time = list(map(int, sys.stdin.readline().rstrip().split())) input_time.sort() for i, t in enumerate(input_time): total_time += t*(n-i) return total_time.. 2023. 9. 19.
백준.일곱 난쟁이.2309.py https://www.acmicpc.net/problem/2309 2309번: 일곱 난쟁이 아홉 개의 줄에 걸쳐 난쟁이들의 키가 주어진다. 주어지는 키는 100을 넘지 않는 자연수이며, 아홉 난쟁이의 키는 모두 다르며, 가능한 정답이 여러 가지인 경우에는 아무거나 출력한다. www.acmicpc.net import sys # 난쟁이 9명에서 2명을 빼는 경우 => 9C2 => 36 # 조합 구현 귀찮아서 순열로 def solution(): person_9, person_7_gr, combination_set = [], [], set() for _ in range(9): person_9.append(int(sys.stdin.readline().rstrip())) for i in range(9): for j.. 2023. 9. 19.
백준.적록색약.10026.py https://www.acmicpc.net/problem/10026 10026번: 적록색약 적록색약은 빨간색과 초록색의 차이를 거의 느끼지 못한다. 따라서, 적록색약인 사람이 보는 그림은 아닌 사람이 보는 그림과는 좀 다를 수 있다. 크기가 N×N인 그리드의 각 칸에 R(빨강), G(초록) www.acmicpc.net import sys def solution(): def get_adj(char_map_dic, x, y, tm_ch): # 인접한 색 탐색 tm_adj_xy = [] if char_map_dic.get((x-1,y), False) == tm_ch: tm_adj_xy.append((x-1,y)) if char_map_dic.get((x+1,y), False) == tm_ch: tm_adj_x.. 2023. 9. 19.