문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이플로이드 워셜로 풀이 시 시간 초과가 뜬다.다익스트라로 해결 완료import heapqdef solution(n, edge): answer = 0 INF = 1e9 graph = [[] for _ in range(n+1)] # graph[i] : i번 노드와 연결된 노드 저장 distance = [INF for _ in range(n+1)] # dist[i] : 1번 노드와 i번 노드 사이의 최단거리 for i in edge : graph[i[0]].ap..
문제https://school.programmers.co.kr/learn/courses/30/lessons/301651 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이재귀 쿼리 (WITH RECURSIVE)WITH RECURSIVE SUB AS ( -- Non-Recursive 문장( 첫번째 루프에서만 실행됨 ) SELECT 1 AS n UNION ALL -- Recursive 문장(읽어 올 때마다 행의 위치가 기억되어 다음번 읽어 올 때 다음 행으로 이동함) SELECT n + 1 FROM SUB WHERE n 실..
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이특정 값이 들어가지 않은 문자를 검색하고 싶을 때는 NOT LIKE 사용SELECT INS.ANIMAL_ID, INS.ANIMAL_TYPE, INS.NAMEFROM ANIMAL_INS AS INSINNER JOIN ANIMAL_OUTS AS OUTSON INS.ANIMAL_ID = OUTS.ANIMAL_IDWHERE INS.SEX_UPON_INTAKE LIKE 'Intact%' AND OUTS.SEX_UPON_OUTCOME NOT LIKE 'Intact%'ORDER BY INS.ANIMAL_ID;
문제 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 풀이상반기에는 판매하지 않았던 맛을 7월에는 판매할 수도 있고, 반대로 상반기에는 판매했던 맛을 7월에는 판매하지 않을 수도 있다.그래서 총 주문량을 구하기 위해서는 두 테이블을 OUTER JOIN을 해야 한다고 생각했는데, MySQL에는 FULL OUTER JOIN을 지원하지 않아서 LEFT JOIN과 RIGHT JOIN을 한 후에 그걸 UNION 하는 방식으로 코드를 작성했다.WITH SUB AS ( SELECT H.FLAVOR, (H.TOTAL_ORDER + SUB.TOTAL_ORDER) AS T..
문제https://www.acmicpc.net/problem/1459 풀이2 * W가 S보다 작거나 같다면, 대각선 이동을 하지 않고 직선 이동만 해서 집에 도달하는 것이 가장 적은 시간이 걸린다. 그러나 2 * W가 S보다 크다면 상황이 약간 복잡해진다.나는 크게 세 가지 경우로 나누어 생각했다.대각선으로만 이동 가능한 경우대각선으로 최대한 이동 후, 직선으로 한 번만 이동하는 경우대각선, 직선 이동을 섞어야 하는 경우1. 대각선으로만 이동 가능한 경우(X, Y) 좌표의 합이 짝수라면, 대각선으로만 이동하며 집에 도착할 수 있다.이 경우 걸린 시간은 S * max(X, Y)가 된다.2. 대각선으로 최대한 이동 후, 직선으로 한 번만 이동하는 경우(X, Y) 좌표의 합이 홀수라면, 즉 X와 Y 중 하나는..
문제https://www.acmicpc.net/problem/9440 풀이주어진 숫자를 오름차순으로 정렬한 후, 앞에서부터 하나씩 순서대로 num1과 num2로 나누어주었다.예를 들어 [3, 4, 2, 2, 2, 2]가 주어졌을때 오름차순으로 정렬하면 [2, 2, 2, 2, 3, 4]이고, 앞에서부터 하나씩 num1과 num2로 나누어준다면 결과는 다음과 같다.num1 = [2, 2, 3]num2 = [2, 2, 4]따라서 정답은 223 + 224 = 447이다. 이때 주어진 숫자에 0이 포함된 경우, 두 정수는 0으로 시작하면 안된다는 것에 유의해야 한다.예를 들어 [0, 1, 2, 3, 4, 0, 1, 2, 3]이 주어졌다면, 오름차순으로 정렬 시 [0, 0, 1, 1, 2, 2, 3, 3, 4]이고..