본문 바로가기

Coding Test14

SolveSQL :: 난이도 3 문제풀이 1. 복수 국적 메달 수상한 선수 찾기2000년 이후의 메달 수상 기록만 고려했을 때, 메달을 수상한 올림픽 참가 선수 중 2개 이상의 국적으로 메달을 수상한 기록이 있는 선수의 이름을 조회하는 쿼리를 작성. 조회된 선수의 이름은 오름차순으로 정렬.SELECT A.NAMEFROM RECORDS R LEFT JOIN ATHLETES A ON R.ATHLETE_ID = A.ID LEFT JOIN GAMES G ON R.GAME_ID = G.ID LEFT JOIN TEAMS T ON R.TEAM_ID = T.IDWHERE G.YEAR >= 2000 AND R.MEDAL IS NOT NULLGROUP BY R.ATHLETE_IDHAVING COUNT(DISTINCT T.TEAM) > 1OR.. 2025. 3. 25.
SolveSQL :: 난이도 2 문제풀이 1. 두 테이블 결합하기역대 올림픽 정보 데이터셋은 역대 올림픽 경기와 관련된 데이터가 들어있는 테이블로 이루어져 있습니다. athletes 테이블에는 역대 올림픽 참가 선수의 이름이 들어 있습니다. events 테이블에는 종목과 경기 이름이 들어 있습니다. games 테이블에는 올림픽 개최 연도, 개최 도시와 시즌 정보가 기록되어 있습니다. records 테이블에는 역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보가 기록되어 있습니다. 이 테이블은 다른 테이블과 매핑할 수 있는 ID 정보도 가지고 있습니다. teams 테이블에는 국가 정보가 기록되어 있습니다. 위 테이블 중 events 테이블과 records 테이블을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주.. 2025. 3. 25.
SolveSQL :: 난이도 1 문제풀이 1. 모든 데이터 조회하기points 테이블은 프란시스 앤스컴이 만든 Anscombe's quartet 데이터를 담고 있습니다. 이 데이터는 quartet 컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 시각화하면 전혀 다른 분포를 가지는 특징이 있습니다. points 테이블에 있는 모든 데이터를 조회하는 쿼리를 작성해주세요.SELECT *FROM POINTS; 2. 일부 데이터 조회하기points 테이블은 프란시스 앤스컴이 만든 Anscombe's quartet 데이터를 담고 있습니다. 이 데이터는 quartet 컬럼에 의해 4개의 서브셋으로 나뉘어지고, 각 서브셋은 평균, 표본 분산, 상관계수 등이 거의 동일하나 데이터의 분포를 .. 2025. 3. 25.
[Python] 프로그래머스 알고리즘 고득점 Kit ✅ 완전탐색 (~ing) [Level 1] 최소 직사각형def solution(sizes): answer = 0 w_list = [] h_list = [] for size in sizes: # 큰 값들은 다 왼쪽으로 넘기기 if size[0]  [Level 1] 모의고사def solution(answers): answer = [] # 수포자 답안 패턴 person_1 = [1, 2, 3, 4, 5] person_2 = [2, 1, 2, 3, 2, 4, 2, 5] person_3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] # 맞은 개수 count one_count = 0 ; two_count = 0 ;.. 2025. 2. 25.
[Python] 프로그래머스 알고리즘 고득점 Kit ✅ 탐욕법 (Greedy) (~ing) [Level 1] 체육복def solution(n, lost, reserve): # 조건 5 (본인 것 잃어버린 경우, 본인 옷으로 대체) set_lost = set(lost) - set(reserve) # 차집합 활용하여 공통 부분 제거 set_reserve = set(reserve) - set(lost) # 한 명씩 옷 매칭해서 제외 (여벌 가진 3번은 2번과 4번에게만 빌려줄 수 있음 !!) for r in set_reserve: if r-1 in set_lost: set_lost.remove(r-1) elif r+1 in set_lost: set_lost.remove(r+1) answer = n.. 2025. 2. 20.
[Python] 프로그래머스 알고리즘 고득점 Kit ✅ 정렬 [Level 1] K번째 수def solution(array, commands): answer = [] for com in range(len(commands)): i, j, k = commands[com][0], commands[com][1], commands[com][2] result = array[i-1:j] result.sort() answer.append(result[k-1]) return answer [Level 2[ 가장 큰 수* 문자형으로 변환하는 함수: str()* 리스트 내림차순 정렬: 리스트.sort(reverse=True)  1. x*3 (문자열을 3번 뒤에 더한다.)문자열에서의 대소비교는 문자열 첫 번째 인덱스를 아스.. 2024. 9. 29.
[Python] 프로그래머스 알고리즘 고득점 Kit ✅ 해시 (~ing) [Level 1] 폰켓몬def solution(nums): answer = 0 # 폰켓몬 종류 개수 num = len(list(set(nums))) # 뽑아야 하는 폰켓몬 개수 num_pick = int(len(nums)/2) # 폰켓몬 종류가 뽑아야 하는 폰켓몬 개수 보다 많으면 그냥 폰켓몬 종류 개수 # 왜냐하면, 우리는 가장 많은 종류의 폰켓몬을 선택하는 방법을 찾아서 폰켓몬 종류 번호의 개수를 찾는 것 # 쉽게 말하면, 2개 뽑는데 1, 2, 3이라는 종류가 있다면 어떤 조합을 해도 1, 2 / 2, 3처럼 최대 종류 개수가 2개임 if num > num_pick: answer = num_pick elif num == nu.. 2024. 9. 29.
[MySQL] 프로그래머스 Level 4, 5 문제 풀이 (20문제, 240715 업데이트) 내 기준에 MySQL 코딩테스트 레벨 4, 5는 시간도 오래 걸리고 어려웠어서 다시 풀어야 할 것 같다.우선 전체적으로 다 풀긴 했지만, 막상 다시 보면 못 풀면 안되니까 ... 파이팅 ! 1. 보호소에서 중성화한 동물[문제] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다. ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_O.. 2024. 7. 15.
[MySQL] 프로그래머스 Level 3 문제 풀이 (21문제, 240612 업데이트) 1. 없어진 기록 찾기[문제] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.  ANIMAL_OUTS 테이블은 동물 보호소에서 입양 보낸 동물의 정보를 담은 테이블입니다. ANIMAL_OUTS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, NAME, SEX_UPON_OUTCOME는 각각 동물의 아이디, 생물 종, 입양일, 이름, 성별 .. 2024. 6. 12.
[MySQL] 프로그래머스 Level 2 문제 풀이 (36문제, 240530 업데이트) 1. 최솟값 구하기[문제] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디, 생물 종, 보호 시작일, 보호 시작 시 상태, 이름, 성별 및 중성화 여부를 나타냅니다.  동물 보호소에 가장 먼저 들어온 동물은 언제 들어왔는지 조회하는 SQL 문을 작성해 주세요. [답]SELECT MIN(DATETIME) AS '시간'FROM ANIMAL_INS; 2. 고양이와 개는 몇 마리 있을까[문제] ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다... 2024. 5. 30.