본문 바로가기

Python5

국영수 Python 정리 및 구현 (백준 10825) 국영수 백준 10825: https://www.acmicpc.net/problem/10825 Edge case 1. asterisk map에 * 붙여서 map 내부 원소 접근 가능 Code 1. 1트 450ms (python3) dict의 items를 이용하여 정렬 import sys input = sys.stdin.readline N = int(input()) C = dict() for _ in range(N): name, k, e, m = input().split() k, e, m = int(k), int(e), int(m) C[name] = (k, e, m) sorted_C = sorted(C.items(), key = lambda item: (-item[1][0], item[1][1], -item.. 2022. 9. 2.
블록 이동하기 Python 정리 및 구현 (카카오 기출 / 프로그래머스) 블록 이동하기 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/60063 Edge case 1. BFS 범위 설정 = N or nny = N): if check[nx][ny] == 0: if not (board[nx][ny] or board[nnx][nny]): check[nx][ny] = 1 # 넘어가자마자 바로 체크에 걸려버림 dfs(nx, ny, dir, cnt+1, check, board) check[nx][ny] = 0 # 후진 nx, ny = x+dx[(dir+2) % 4], y+dy[(dir+2) % 4] # @@ % 꼭 해줘야해 if not (nx = N or ny < 0 or n.. 2022. 9. 2.
감시 피하기 Python 정리 및 구현 (백준 18428) 감시 피하기 백준 18428: https://www.acmicpc.net/problem/18428 Edge case 1. 문제조건 벽생성의 경우: "O" 생성을 BFS로 진행해보면 좋을듯 Code 1. 1트 Combination + 구현 # 백준 18428 # https://www.acmicpc.net/problem/14888 # 삼성 기출 # 15:30 - 15:56 # 25분 # 1트 // 152ms (pypy3) from copy import deepcopy n = int(input()) graph = [list(input().split()) for _ in range(n)] teacher = list() student = list() empties = list() for r in range(n):.. 2022. 8. 30.
연구소 Python 정리 및 구현 (백준 14502, 삼성 SW 역량테스트 기출) 연구소 (백준 14502) 백준: https://www.acmicpc.net/problem/14502 Abstract pypy3 환경 take 1: 3116ms take 2: 892ms Edge case 1. 문제조건 벽 3개를 완전 하나하나씩 다 대입해 봐야함 DFS보다는 비재귀 형식의 BFS사용 2. 재귀 deepcopy를 사용하여서 graph가 누적되지 않게 Code 1. BFS + 재귀를 이용한 벽 추출 설명 주석 참조 # 백준 14502 # 시작시간 15:13 - 16:13 # https://www.acmicpc.net/problem/14502 # 2초 제한 import sys import copy from collections import deque input = sys.stdin.readli.. 2022. 7. 28.