코딩테스트
-
Dynamic Programming코딩테스트 2020. 11. 30. 19:19
다이나믹 프로그래밍 (동적 프로그래밍) 기억하기 프로그래밍이라는 단어가 더 잘 어울릴 수도. DP에서 프로그래밍은 코딩하는 것이 아니라, 테이블을 이용하여 문제를 해결하는 방법 부분 문제의 해를 결합하여 큰 문제를 해결해 나간다. (분할정복기법) 이 때 부분문제는 무조건 계산하는 것이 아니라 테이블을 통해 재사용. 즉, 한 번 계산한 문제는 다시 계산하지 않는다 큰 문제를 한번에 해결하기 힘들 때 작은 여러개의 문제로 나눠 푸는 기법 그 문제들을 재계산하지 않고 값을 저장해두었다가 재사용하는 기법 (불필요한 계산 줄이기) 재귀적으로 생각하기 DP문제를 풀기 위해서는 점화식(인접한 항들 사이의 관계식)을 세워야 한다. 메모제이션(동적 프로그래밍 기법 중 하나) 반복적으로 계산되는 것들의 계산 횟수를 줄이기..
-
[SQL] SQLZOO JOIN operation 13번 문제코딩테스트 2020. 11. 8. 02:47
테이블 구조 문제 정답 select mdate, team1, SUM(CASE WHEN teamid = team1 THEN 1 ELSE 0 END) AS score1, team2, SUM(CASE WHEN teamid = team2 THEN 1 ELSE 0 END) as score2 from game left join goal on id = matchid group by mdate, team1, team2 order by mdate, matchid, team1, team2 teamid가 team1이면 score1에 1점, teamid가 team2면 score2에 1점 합산 득점이 없는 경기는 game 테이블과 join이 안 된다. 따라서 left join을 씀.
-
코딩테스트 빈출 유형 / 준비법코딩테스트 2020. 10. 28. 22:50
1. 구현 2.그리디 3.BFS/DFS 4.정렬 5.다이나믹 프로그래밍 www.hanbit.co.kr/media/channel/view.html?cms_code=CMS7793635735 [그래프로 정리] 코딩 테스트에 가장 많이 출제 되는 알고리즘과 합격권 점수를 알아 보겠습니다 코딩 테스트는 ‘기업/기관에서 직원이나 연수생을 선발할 목적으로 시행하는 일종의 문제 풀이 시험’입니다.일반적으로 대기업의 공채와 같이 지원자가 많은 상황에서 효과적으로 지원자를 www.hanbit.co.kr 코딩테스트 준비법 문제를 봤을 때, 어떤 기법으로 풀 수 있는지 떠올리는 연습. 다양한 문제를 접하는 것이 중요. (문제를 끝까지 풀지 않아도 된다.) 개념 공부 -> 다양한 문제 접근 -> 접근법이 맞는지 아닌지 체크 -..
-
[프로그래머스] 피보나치 수열 - Python코딩테스트 2020. 8. 22. 23:41
def solution(n): answer = 0 fibo = [] for i in range(0, n+1): if i == 0 : fibo.append(0) elif i == 1: fibo.append(1) else : fibo.append( fibo[i-2] + fibo[i-1] ) answer = fibo[len(fibo)-1] % 1234567 return answer https://programmers.co.kr/learn/courses/30/lessons/12945 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + ..
-
[SQL] 오랜 기간 보호한 동물(2)코딩테스트 2020. 8. 17. 14:53
https://programmers.co.kr/learn/courses/30/lessons/59411 코딩테스트 연습 - 오랜 기간 보호한 동물(2) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr 문제 입양을 간 동물 중, 보호 기간이 가장 길었던 동물 두 마리의 아이디와 이름을 조회하는 SQL문을 작성해주세요. 이때 결과는 보호 기간이 긴 순으로 조회해야 합니다. 정답 SELECT outs.ANIMAL_ID, outs.NAME FRO..
-
[프로그래머스 SQL] String ,Date - 중성화 여부 파악하기코딩테스트 2020. 8. 10. 19:20
https://programmers.co.kr/learn/courses/30/lessons/59409 -- 코드를 입력하세요 #1. CASE문 사용 SELECT ANIMAL_ID, NAME, CASE WHEN (SEX_UPON_INTAKE LIKE '%Neutered%' OR SEX_UPON_INTAKE LIKE '%Spayed%') THEN 'O' ELSE 'X' END AS '중성화' FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC #2 IF문 사용 SELECT ANIMAL_ID, NAME, IF(SEX_UPON_INTAKE LIKE '%NEUTERED%' OR SEX_UPON_INTAKE LIKE '%SPAYED%','O','X') AS '중성화' FROM ANIMAL_INS ..
-
[SQL] 차집합, LEFT JOIN코딩테스트 2020. 8. 8. 18:59
https://programmers.co.kr/learn/courses/30/lessons/59042 문제 ANIMAL_OUT 테이블에서 ANIMAL_IN테이블에 없는 ANIMAL_ID를 추출하기. 해석 SELECT outs.ANIMAL_ID, outs.NAME FROM ANIMAL_OUTS as outs LEFT JOIN ANIMAL_INS as ins ON outs.ANIMAL_ID = ins.ANIMAL_ID WHERE ins.ANIMAL_ID IS NULL ANIMAL_OUTS테이블의 ANIMAL_ID와 NAME 컬럼의 데이터 들 중 ANIMAL_INS테이블의 ANIMAL_ID가 같은 데이터만 추출해라. 단, ANIMAL_ID가 NULL일 경우 에만 = ANIAML_OUTS 에만 있는 데이터들만 ..
-
[프로그래머스 스택/큐] 다리를 지나는 트럭코딩테스트 2020. 8. 8. 17:15
https://programmers.co.kr/learn/courses/30/lessons/42583 [ 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr ](https://programmers.co.kr/learn/courses/30/lessons/42583) 문제 정답 코드 def solution(bridge_length, weight, truck_weights): answer = 0 temp = [0] * bridge_length result = [] while temp: answer ..