programmers.co.kr/learn/courses/30/lessons/59044 코딩테스트 연습 - 오랜 기간 보호한 동물(1) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr SELECT A.NAME, A.DATETIME FROM ANIMAL_INS AS A LEFT JOIN ANIMAL_OUTS AS B ON A.ANIMAL_ID = B.ANIMAL_ID WHERE B.ANIMAL_ID IS NULL ORDER BY A.DAT..
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 def solution(tickets): answer = [] tickets.sort(reverse=True) routes = {} for t1, t2 in tickets: if t1 in routes: routes[t1].append(t2) else: routes[t1] = [t2] stack = ['ICN'] while stack: top = stack[-1] if top not in route..
월간 코드 챌린지 시즌1 programmers.co.kr/learn/courses/30/lessons/68644 코딩테스트 연습 - 두 개 뽑아서 더하기 programmers.co.kr from itertools import combinations def solution(numbers): answer = [] com = list(combinations(numbers, 2)) for num in com: answer.append(sum(num)) answer = list(set(answer)) answer = sorted(answer) return answer
https://programmers.co.kr/learn/courses/30/lessons/12906 코딩테스트 연습 - 같은 숫자는 싫어 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 programmers.co.kr def solution(arr): answer = [] answer.append(arr[0]) for i in range(1, len(arr)): if arr[i] != arr[i-1]: answer.append(arr[i]) return answer
https://programmers.co.kr/learn/courses/30/lessons/42578 코딩테스트 연습 - 위장 programmers.co.kr def solution(clothes): answer = 1 clothe = {} for i in range(len(clothes)): if clothes[i][1] not in clothe: clothe[clothes[i][1]] = 1 else: tmp = clothe[clothes[i][1]] tmp += 1 clothe[clothes[i][1]] = tmp for c in clothe: answer *= (clothe[c] + 1) answer -= 1 return answer
https://programmers.co.kr/learn/courses/30/lessons/43162 코딩테스트 연습 - 네트워크 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있�� programmers.co.kr def dfs(computers, check, v): check[v] = 1 for i in range(len(check)): if check[i] == 0 and computers[v][i] == 1: dfs(computers, check, i) def solution(n, computers): answer = 0 check = [0] * n for ..
https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 �� programmers.co.kr def solution(answers): answer = [] s1 = [1, 2, 3, 4, 5] s2 = [2, 1, 2, 3, 2, 4, 2, 5] s3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5] res = [0, 0, 0] for i in range(len(answers)): ans = answers[i] if (s1[i % 5] =..
https://programmers.co.kr/learn/courses/30/lessons/43163 코딩테스트 연습 - 단어 변환 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 programmers.co.kr def solution(begin, target, words): if target not in words: return 0 answer = 0 start = [begin] while(len(words) != 0): for s in start: tmp = [] for word in words: cnt = 0 for i i..