목록 code review (147)
KEEP GOING
1. dfs 사용 # B 이상인 height 중에서 가장 작은 height 구하기 def backtracking(N, B, height, idx): global result # 마지막 원소까지 더해버렸다면 if idx >= N: # 선반의 높이 이상이고 최소값보다 작을때 갱신 if B
https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com [key point] - 이진탐색이므로 탐색할 배열 정렬하기 - 양쪽을 번갈아가며 탐색하는지 검사하기 [구현] def binarySearch(arr, start, end, target): # 번갈아 방문하는지 검사 check = 0 while start target: # 왼쪽을 반복 방문했다면 if check == -1: return False end = mid - 1 check = -1 else: return True return Fals..
1. 여행경로 (중상) https://programmers.co.kr/learn/courses/30/lessons/43164 코딩테스트 연습 - 여행경로 [["ICN", "SFO"], ["ICN", "ATL"], ["SFO", "ATL"], ["ATL", "ICN"], ["ATL","SFO"]] ["ICN", "ATL", "ICN", "SFO", "ATL", "SFO"] programmers.co.kr [dfs를 이용한 풀이] from collections import defaultdict def dfs(start): global routes stack = [start] path = [] while stack: top = stack[-1] if not routes[top]: path.append(stac..
https://swexpertacademy.com/main/learn/course/lectureProblemViewer.do SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 코드 구현 (bfs 풀이) from collections import deque move = [(1,0),(0,1),(-1,0),(0,-1)] def bfs(x, y): deq = deque([(x,y)]) while deq: x, y = deq.popleft() for dx, dy in move: nx = dx + x ny = dy + y if 0
[소수&팰린드롬] https://www.acmicpc.net/problem/1747 1. 코드 구현 (하) from math import sqrt import sys input = sys.stdin.readline def isPrime(num): if num == 1: return False for i in range(2, int(sqrt(num))+1): if num % i == 0: return False return True def isPalindrome(num): data = str(num) k = len(data) for i in range(k//2): if data[i] != data[k-1-i]: return False return True n = int(input()) while True:..
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 1. 코드 구현 from collections import deque def solution(priorities, location): n = len(priorities) que = deque([]) # 큐에 (인덱스, 문서별 중요도) 추가 for i in range(n): que.append((i, priorities[i])) # 가장 높은 우선순위 high_pri..
https://programmers.co.kr/learn/courses/30/lessons/42586?language=python3 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 1. stack 구현 from math import ceil def solution(progresses, speeds): answer = [] stack = [] # # n일간 작업에 대한 데이터 리스트를 stack에 추가 for progress, speed in zip(progresses, speeds): stack.app..
https://leetcode.com/problems/nth-highest-salary/ Nth Highest Salary - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 1. case when 사용 CREATE FUNCTION getNthHighestSalary(N INT) RETURNS INT BEGIN RETURN ( # Write your MySQL query statement below. SELECT CASE WHEN COUNT(tmp.salary) ..