본문 바로가기
728x90

PS91

[시뮬레이션] 핀볼게임 문제링크 https://www.codetree.ai/missions/2/problems/pinball-game?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 / 과 \ 부딪혔을 때 방향전환 다루기 회전을 할 때는 동(0) 남(1) 서(2) 북(3)을 기본으로 한다. 1번(/): 0 ↔ 3, 1 ↔ 2 2번(\): 2 ↔ 3, 0 ↔ 1 def change_dir(r, c, d): if board[r][c] == 1: d = 3 - d elif board[r][c] == 2.. 2024. 2. 10.
[시뮬레이션] 금 채굴하기 문제링크 https://www.codetree.ai/missions/2/problems/gold-mining?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 L1 거리는 구하는 방법 방법1. 같은 거리에 존재하는 마름모 껍질에 존재하는 좌표들 구하기 # 좌표(0, 0) 기준 거리가 k인 점들의 집합 def taxi_circle(k): if k == 0: return [(0, 0)] # 거리가 k라는 것은 x좌표 + y좌표 = k 가 됨을 의미한다. points = [] # .. 2024. 2. 10.
[SQL] 주문량이 많은 아이스크림들 조회하기 문제링크 https://school.programmers.co.kr/learn/courses/30/lessons/133027 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 핵심 풀이 FIRST_HALF에서 FLAVOR는 기본키(primary key)이므로 중복이 발생하지 않는다. 하지만 JULY의 경우 예시에서 볼 수 있는 것처럼 FLAVOR가 기본키가 아니라서 중복되는 '맛'(Strawberry)이 존재한다. 따라서 '맛'에 대해서 상반기와 7월을 더하기 위해서는 7월에SHIPMENT_ID는 달라도 '맛'이 같은 경우는 합쳐야한다. 따라서 JULY.. 2024. 2. 10.
[이분탐색 - Parametric Search] 삼 오 무 문제링크 https://www.codetree.ai/missions/8/problems/three-five-moo?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 특정 숫자가 몇 번째 위치하는지 파악하기 → find_seq 함수 8은 5번째 숫자이다. 이유는 8 앞에 3의 배수는 3, 6 / 5의 배수 5가 존재한다. 따라서 원래 8번째 수인 8 앞에 '무'로 만들어야할 숫자가 3개이다. 따라서 8 - 3 = 5번째 숫자가 된다. 16은 9번째 숫자이다. 이유는 16의 앞에.. 2024. 2. 9.
[백트래킹] 최소 점프 횟수 문제링크 https://www.codetree.ai/missions/2/problems/min-num-of-jumps?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 이동하는 백트래킹 유형 new_idx가 n보다 작다는, 즉 new_idx의 범위 판정 필요함. 2. 코드(Python) n = int(input()) nums = list(map(int, input().split())) min_val = 11 ans = [] def dfs(idx: int): global min.. 2024. 2. 9.
[백트래킹] 방향에 맞춰 최대로 움직이기 문제링크 https://www.codetree.ai/missions/2/problems/max-movements-with-direction?&utm_source=clipboard&utm_medium=text 코드트리 | 코딩테스트 준비를 위한 알고리즘 정석 국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요. www.codetree.ai 1. 핵심 4가지 ~ 8가지 방향으로 움직일 수 있는 백트래킹 유형 정해진 방향으로 1칸씩이 아니라 방향에 존재하는 모든 칸으로 이동 가능 nr = cr + cur_dir[0] * val val이 이동할 수 있는 거리를 의미함. 최대 이동할 수 있는 칸의 개수가 필요하다. 따라서 back 돌 때마다 .. 2024. 2. 9.
728x90
반응형