본문 바로가기

코딩테스트4

외벽점검 Python 정리 및 구현 (카카오 기출) 외벽 점검 프로그래머스: https://school.programmers.co.kr/learn/courses/30/lessons/60062 Edge case 1. 문제조건 글을 꼼꼼히 읽고 문제를 풀자 Code 1. 1트 시간초과 인원수별로 시작 자리 weak 배열 내의 원소에서 permutation으로 지정한 뒤 모든 weak이 다 찼는지 확인하는 코드 # 외벽 점검 # https://school.programmers.co.kr/learn/courses/30/lessons/60062 # 1트 # 11:22 - 12:00 # 시간 초과 from itertools import permutations def solution(n, weak, dist): c = [0] * n dist.sort(reverse=T.. 2022. 7. 28.
연구소 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.
치킨 배달 파이썬 정리/구현 (삼성 코테 기출) 치킨 배달 백준 15686: https://www.acmicpc.net/problem/15686 Edge case 1. 문제조건 글 읽는데에 시간투자 많이 할 것 Code 1. itertools 사용 # 치킨 배달 # 15686 # 22/07/26/16:51 from itertools import combinations n, m = map(int, input().split()) g = [list(map(int, input().split())) for _ in range(n)] h = list() ch = list() for r in range(n): for c in range(n): if g[r][c] == 1: h.append([r, c]) # House의 좌표 저장 elif g[r][c] == 2: .. 2022. 7. 26.
기둥과 보 설치(2020 Kakao) 정리 및 코드 기둥과 보 설치 프로그래머스 Level3: https://school.programmers.co.kr/learn/courses/30/lessons/60061 Edge case 항상 주의해야하는 항목 1. 좌표 수정 좌표 수정(x-1, y-1)에는 항상 범위 체크할 필요가 있음 (이 문제에선 아님) 2. 문제 조건 매번 조건을 꼼꼼히 확인할 필요가 있음 여기서는 배열식 표현에 메일필요가 없음 그냥 데카르트 좌표계 그대로 진행해도 문제될게 없음 탐색시간이 많이 걸리긴 하나, 이 문제는 실행시간이 5초로 넉넉하므로 의 복잡도까지 가능 Code 처음 풀이는 2차원 배열에 저장하는 방식으로 풀었었는데 너무 복잡하여 생략하였다. 2차원 배열을 사용할 필요없이 answer 배열만 가지고도 해결가능한 Case! # 기.. 2022. 7. 26.