목록전체 글 (323)
rose_brown
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/468370 2. 코드python 1def solution(message, spoiler_ranges): answer = 0 words = message.split(" ") words_index_list = [] index = 0 general_word = set() spoiler_word = set() # (start, end, word) 형태로 저장 for word in words: start = index end = index + len(word) - 1 words_index_list.append((..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/468371 2. 코드python 1import mathdef is_yellow(signal, offest): g, y, r = signal if g + 1 풀이각 신호등의 **green + yellow + red**를 더해 신호등별 순환 주기 계산모든 신호등의 상태가 다시 반복되는 시점을 구하기 위해 순환 주기의 최소 공배수(LCM)를 **limit**으로 설정**0 ~ limit**까지 모든 시간을 확인현재 시간을 각 신호등의 순환 주기로 나눈 나머지를 이용해 현재 신호등의 위치 계산모든 신호등이 노란불 구간이면 해당 시간 반환끝까지 없으면 -1 반환 python 2imp..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/250134 2. 코드python 1def solution(maze): maze_row, maze_col = len(maze), len(maze[0]) paths = [(-1, 0), (1, 0), (0, -1), (0, 1)] for i in range(maze_row): for j in range(maze_col): if maze[i][j] == 1: red_start = (i, j) elif maze[i][j] == 2: blue_start = (i, j) elif maze[i][j] == 3:..
1. CASE WHEN이란?SQL의 조건문 → 파이썬의 if/elif/else와 같은 역할 2. 기본 구조CASE WHEN 조건1 THEN 결과1 WHEN 조건2 THEN 결과2 ELSE 결과3END 3. 간단한 예시SELECT NAME, SCORE, CASE WHEN SCORE >= 90 THEN 'A' WHEN SCORE >= 80 THEN 'B' ELSE 'C' END AS GRADEFROM STUDENT;
1. WITH문이란?SQL에서 쿼리 작성 시 하나의 서브쿼리 혹은 임시 테이블처럼 사용 가능특징 : 쿼리가 실행되는 동안에만 잠깐 존재하고 사라짐 2. 기본 구조WITH 가상_테이블_이름 AS ( SELECT 컬럼1, 컬럼2 FROM 실제_테이블)-- 위에서 만든 가상 테이블을 진짜 테이블처럼 사용SELECT *FROM 가상_테이블_이름; 3. 간단한 예시WITH CALC_TABLE AS ( SELECT USER_ID, PRICE * QUANTITY AS TOTAL_PRICE -> 미리 계산 FROM SALES)SELECT * FROM CALC_TABLE WHERE TOTAL_PRICE > 10000; -> 계산된 이름을 바로 사용 가능
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/151141 2. 코드SQL 1WITH HISTORY_INFO AS ( SELECT h.HISTORY_ID, c.DAILY_FEE, c.CAR_TYPE, DATEDIFF(h.END_DATE, h.START_DATE) + 1 AS DIFF FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY h JOIN CAR_RENTAL_COMPANY_CAR c ON h.CAR_ID = c.CAR_ID WHERE c.CAR_TYPE = '트럭'),DURATION_INFO AS ( SELECT HI..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/276035 2. 코드-- 코드를 작성해주세요SELECT DISTINCT dp.ID, dp.EMAIL, dp.FIRST_NAME, dp.LAST_NAMEFROM DEVELOPERS AS dpLEFT JOIN SKILLCODES AS sk ON(dp.SKILL_CODE & sk.CODE = sk.CODE)WHERE CATEGORY = 'Front End'ORDER BY dp.ID; 3. 메모SKILL_CODE는 2진수로 표현 되어있음 → 비트 연산자로 확인CONV(데이터, 원본 진법, 변환할 진법) → 진법 변환 함수
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/340210 2. 코드python 1def from_base(num, base): # n진수 -> 10진수 value = 0 for n in num: digit = int(n) value = value * base + digit return valuedef to_base(num, base): # 10진수 -> n진수 if num == 0: return "0" result = "" while num > 0: remain = num % base result = str(remain) + resul..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/340211 2. 코드python 1from collections import Counterdef solution(points, routes): rob_paths = [] for route in routes: time = 0 curr_r, curr_c = points[route[0] - 1] rob_paths.append((time, curr_r, curr_c)) for i in range(1, len(route)): target_r, target_c = points[route[..
1. 문제https://school.programmers.co.kr/learn/courses/30/lessons/250136 2. 코드python 1from collections import dequedef bfs(graph, start, visited): width, height = len(graph[0]), len(graph) paths = [(-1, 0), (1, 0), (0, -1),(0, 1)] queue = deque([start]) visited[start[0]][start[1]] = True size = 0 cols = set() while queue: x, y = queue.popleft() siz..