본문 바로가기

전체 글

(95)
MST (Minimum Spanning Tree) MST(Minimum Spanning Tree) : 최소의 비용으로 모든 노드가 연결된 트리* Spanning Tree : 모든 노드가 연결된 트리 MST 관련 알고리즘 : Kruskal or Prim- Kruskal : 전체 간선 중 작은 것 부터 연결 (Union-Find 알고리즘 사용)- Prim : 현재 연결된 트리에 이어진 간선 중 가장 작은 것을 추가 힙 (Heap) : 최대값, 최소값을 빠르게 계산하기 위한 자료구조 - 이진 트리 구조 - 처음에 값을 저장할때부터 최대값 or 최소값 결정 핵심 코드heap = [[0, 1]] # 비용, 노드번호while heap: w, next_node = heapq.heappop(heap) if chk[next_node] == False: ..
파이썬으로 "소수 찾기" 방식 정리 코딩 테스트 준비를 성실하게 하고 있지 않다 보니까... 코딩 테스트에서 암기가 필요한 부분들은 매번 까먹는다."소수 찾기" 알고리즘이 그러한데, 그래서 한번은 정리가 필요하겠다 느껴 글로 작성한다. 소수는 1과 자기 자신이외에는 나누어 떨어지지 않는 수이다. 1) 직관적인 "소수 찾기" 방법def is_prime(num): if num == 1 : return False for i in range(2, num): if num % i == 0 : return False return True 위와 같은 코드로 소수를 쉽게 검증이 가능하지만, num 변수에 엄청 큰 수가 들어올 경우 시간이 너무 오래걸린다. 2) 1번보다 빠른 "소수 찾기" 방법def is_prime(num): if num == 1 : r..
프로그래머스 - 최솟값 만들기 두 리스트에서 한 값씩 뽑아 곱하고 더할 때, 한 리스트는 오름차순, 한 리스트는 내림차순으로 정렬 후, 순서대로 곱하고 더하면 최소값두 리스트 같은 방향(오름차순 또는 내림차순)으로 정렬하고, 순서대로 곱하고 더하면 최대값 이다. 아래 블로그 증명을 참고 https://velog.io/@injoon2019/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98-%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EC%B5%9C%EC%86%9F%EA%B0%92-%EB%A7%8C%EB%93%A4%EA%B8%B0
AWS AWS
[프로그래머스] Level 3. DATETIME에서 DATE로 형 변환 문제 풀이 SELECT ANIMAL_ID, NAME, DATE_FORMAT(`DATETIME`, '%Y-%m-%d') AS '날짜' FROM ANIMAL_INS ORDER BY ANIMAL_ID; DATETIME에 있는 변수들을 DATE_FORMAT 을 사용하여 형태를 바꿔주었다. 출처 programmers.co.kr/learn/courses/30/lessons/59414 코딩테스트 연습 - DATETIME에서 DATE로 형 변환 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물..
[프로그래머스] Level 3. 오랜 기간 보호한 동물(2) 문제 풀이 SELECT OUTS.ANIMAL_ID, OUTS.NAME FROM ANIMAL_INS AS INS INNER JOIN ANIMAL_OUTS AS OUTS ON INS.ANIMAL_ID = OUTS.ANIMAL_ID ORDER BY OUTS.DATETIME - INS.DATETIME DESC LIMIT 2; ORDER BY 에 정렬하기 원하는 값을 넣어주고 작아지는 순으로 출력한 뒤에 LIMIT 2를 붙이면 된다. 출처 programmers.co.kr/learn/courses/30/lessons/59411 코딩테스트 연습 - 오랜 기간 보호한 동물(2) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIM..
[프로그래머스] Level 2. 중성화 여부 파악하기 문제 풀이 SELECT ANIMAL_ID, NAME, CASE WHEN SEX_UPON_INTAKE LIKE 'Neutered%' THEN 'O' WHEN SEX_UPON_INTAKE LIKE 'Spayed%' THEN 'O' ELSE 'X' END AS '중성화' FROM ANIMAL_INS ORDER BY ANIMAL_ID ASC; case 문을 사용하여 문제를 해결하였다. case ~ when ~ then 출처 programmers.co.kr/learn/courses/30/lessons/59409 코딩테스트 연습 - 중성화 여부 파악하기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMA..
[프로그래머스] Level 2. 이름에 el이 들어가는 동물 찾기 문제 풀이 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE NAME LIKE '%EL%' AND ANIMAL_TYPE = 'Dog' ORDER BY NAME; LIKE를 통해서 부분 일치 칼럼을 찾을 수 있다. %는 글자 숫자를 정해주지 않는다. A% : A로 시작하는 문자 %A : A로 끝나는 문자 %A% : A를 포함하는 문자 _는 글자 숫자를 정해준다. A_ : A로 시작하는 두글자 문자 찾기 [^A] : 첫문자가 A가 아닌 모든 문자열 찾기 [ABC] , [A-C] : 첫문자가 A또는 B또는 C인 문자열 찾기 출처 programmers.co.kr/learn/courses/30/lessons/59047 코딩테스트 연습 - 이름에 el이 들어가는 동물 찾기 ANIMAL..