본문 바로가기

코딩테스트14

국영수 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 정리 및 구현 (백준 16234, 삼성 SW 역량테스트) 인구 이동 백준 16234: https://www.acmicpc.net/problem/16234 Edge case 1. 문제조건 1 day 안에서 여러 구역으로 나눠서 각각 따로따로 average를 구해야하는거였는데 그냥 1day에 모든 구역들의 모든 인구 / 모든 블록 수로 계산해버림 Code 1트: fail 2트: 6936ms (python3) 3트: 4276ms (python3) 4트: 376ms (python3) 1. 1트 (FAIL) FAIL 여러 구역으로 나뉘는걸 생각하지 못하고, 한번에 모든 구역들을 통합해서 다 average를 구해버림 # 인구 이동 # 백준 16234 # https://www.acmicpc.net/problem/16234 # 18:52 - 19:52 FAIL from co.. 2022. 8. 31.
감시 피하기 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.