백준 / 마인크래프트 / 18111번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 마인크래프트 / 18111번 (실버 2단계)문제 사이트: https://www.acmicpc.net/problem/18111 문제 설명 나의 풀이def solve(N, M, B, blocks): # 최소 시간과 그때의 높이를 저장할 변수 min_time = float('inf') best_height = -1 # 1. 필드에서 가장 낮은 높이와 높은 높이를 먼저 찾습니다. low_block = 256 high_block = 0 for row in blocks: for val in row: if val high_block: high_block = val # 2. 가능한 모든 높이(tar..
백준 / XOR 합 3 / 13710번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: XOR 합 3 / 13710번 (골드 1단계)문제 사이트: https://www.acmicpc.net/problem/13710 문제 설명 나의 풀이def solution(N, A): # prefix XOR 생성 (0 포함) prefix = [0] cur = 0 for x in A: cur ^= x prefix.append(cur) answer = 0 # 0~31비트까지 확인 for bit in range(32): zero = 0 one = 0 for p in prefix: if (p >> bit) & 1: one +..
백준 / 회문 / 17609번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 회문 / 17609번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/17609 문제 설명 나의 풀이def solution(words): left = 0 right = len(words) - 1 # 1. 회문 검사 while left = right: return 0 # 2. 유사회문, 그외 검사 left_1 = left + 1 # 왼쪽 증가 right_1 = right while left_1 = right_1: return 1 left_2 = left right_2 = right - 1 # 오른쪽 감소 while left_2..
백준 / 숨바꼭질 4 / 13913번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 숨바꼭질 4 / 13913번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/13913 문제 설명 나의 풀이from collections import dequedef solution(): N, K = map(int, input().split()) visited = [False] * (100001) # 방문 처리 parent = [-1] * 100001 # 역추적 # 큐를 이용하여 방문처리 dq = deque() dq.append((N, 0)) # 시작 위치, 이동거리 visited[N] = True while dq: current, dis = dq.popleft(..
백준 / 녹색 옷 입은 애가 젤다지? / 4485번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 녹색 옷 입은 애가 젤다지? / 4485번 (골드 4단계)문제 사이트: https://www.acmicpc.net/problem/4485 문제 설명 나의 풀이import heapqINF = int(1e9) # 최대값move = [(-1, 0), (1, 0), (0, -1), (0, 1)] # 움직이는 배열def solution(N, maps): heap = [] # 최소 힙 distance = [[1e9] * N for _ in range(N)] # 최대 길이 distance[0][0] = maps[0][0] # 현재 지불 heapq.heappush(heap, (maps[0][0], 0, 0)) # dis, y, x whi..
Programmers / 상담원 인원 / Python
·
Coding Test/프로그래머스-Python
*문제 출처는 프로그래머스에 있습니다. 문제 제목: 상담원 인원 (3단계)문제 사이트: https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 설명 나의 풀이def solution(k, n, reqs): import heapq # 1. 유형별 요청 정리 counsel = {i: [] for i in range(1, k + 1)} for start, ing, t in reqs: counsel[t].append((start, ing)) # 2. 대기시간 ..
백준 / 빙고 / 2578번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 빙고 / 2578번 (실버 4단계)문제 사이트: https://www.acmicpc.net/problem/2578 문제 설명 나의 풀이def solution(bingo, moderator): bingo_Arr = [] left = [] right = [] # 1. 빙고가 나올 수 있는 경우의 수 for i in range(len(bingo)): bingo_Arr.append(bingo[i]) left.append(bingo[i][i]) right.append(bingo[i][len(bingo) - 1 - i]) tem = [] for j in range(len(bingo)..
백준 / 트리의 순회 / 2263번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 트리의 순회 / 2263번 (골드 1단계)문제 사이트: https://www.acmicpc.net/problem/2263 문제 설명 나의 풀이import syssys.setrecursionlimit(200000)def solution(N, in_order, post_order): answer = [] in_idx = {} # in_idx 설정 for i in range(N): in_idx[in_order[i]] = i def get_preorder(in_s, in_e, post_s, post_e): if in_s > in_e or post_s > post_e: return root..
백준 / 카드 게임 / 16566번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 카드 게임 / 16566번 (플래티넘 5단계)문제 사이트: https://www.acmicpc.net/problem/16566 문제 설명 나의 풀이import sys# M이 매우 크므로 재귀 깊이 제한을 반드시 풀어야 합니다.sys.setrecursionlimit(10**6)# 1. 'i'가 딕셔너리에 없다? -> 사용된 적 없으므로 'i'가 루트.# 2. 'i'가 딕셔너리에 있다? # -> 'i'는 사용됐고, u[i]로 가라고 함. # -> u[i]가 가리키는 곳의 '진짜' 루트를 재귀로 찾음.# 3. 경로 압축 (성능 최적화) # 'i'가 '진짜' 루트를 바로 가리키도록 갱신. # (다음에 또 'i'를 찾으면 중..
백준 / 오아시스 재결합 / 3015번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 오아시스 재결합 / 3015번 (플래티넘 5단계)문제 사이트: https://www.acmicpc.net/problem/3015 문제 설명 나의 풀이# 백준 3015번 - 오아시스 재결합 (Stack)import sysinput = sys.stdin.readlinedef solution(N, people): answer = 0 # Result stack = [] # Stack for n in people: count = 1 # 같은 키 사람 수 (초기 1명) # 스택의 top이 현재 사람보다 작으면 pop하면서 볼 수 있는 쌍 누적 while stack and stack[-1][0] 예제..
백준 / 돌 던지기 / 3025번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 돌 던지기 / 3025번 (플래티 3단계)문제 사이트: https://www.acmicpc.net/problem/3025 문제 설명 나의 풀이# 시간초과import sysinput = sys.stdin.readlinedef rock_move(rx, rock): move = [(-1, 0), (0, -1), (0, 1)] # 돌의 이동 방향 밑, 좌, 우 dy, dx = move[0] # 초기 값은 아래로 내려감 ry, rx = 0, rx # 초기 돌 위치 while True: cy, cx = ry + 1, rx # 돌이 아래로 움직임 (dy, dx 대신 직접 계산) # 가장 아랫줄이거나 X를 만난다면 ..
백준 / 감시 피하기 / 18428번 / Python
·
Coding Test/백준-Python
*문제 출처는 백준에 있습니다. 문제 제목: 감시 피하기 / 18428번 (골드 5단계)문제 사이트: https://www.acmicpc.net/problem/18428 문제 설명 나의 풀이move = [(0, 1), (0, -1), (1, 0), (-1, 0)] # 상 하 좌 우 움직임# 4방향으로 부딪치는지 확인하는 함수def search(ty, tx, arr): for dy, dx in move: cy, cx = ty, tx while True: cy += dy cx += dx if cy = len(arr) or cx = len(arr): break if arr[..
김치바보
'Coding Test' 카테고리의 글 목록