백준.멀티탭 스캐줄링.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.
백준.적록색약.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.