전체 글
-
아픈 동물 찾기프로그래머스 SQL 2023. 4. 29. 00:08
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59036#fn1 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT ANIMAL_ID, NAME FROM ANIMAL_INS WHERE INTAKE_CONDITION = 'Sick' --INTAKE_CONDITION이 Sick인 것만 ORDER BY ANIMAL_ID
-
역순 정렬하기프로그래머스 SQL 2023. 4. 28. 23:33
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59035 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT NAME, DATETIME --NAME과 DATETIME의 열을 보고 싶다 FROM ANIMAL_INS -- ANIMAL_INS 테이블로 부터 ORDER BY ANIMAL_ID DESC --ANIMAL_ID를 기준으로 정렬하는데 내림차순으로 정렬
-
모든 레코드 정렬하기프로그래머스 SQL 2023. 4. 28. 23:30
출처 : https://school.programmers.co.kr/learn/courses/30/lessons/59034 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr -- 코드를 입력하세요 SELECT * -- 모든 열 FROM ANIMAL_INS --ANIMAL_INS 테이블에서 ORDER BY ANIMAL_ID -- ANIMAL_ID 순서대로
-
백준 17471(게리맨더링) c++백준 문제 2023. 3. 30. 19:27
문제 17471번: 게리맨더링 선거구를 [1, 4], [2, 3, 5, 6]으로 나누면 각 선거구의 인구는 9, 8이 된다. 인구 차이는 1이고, 이 값보다 더 작은 값으로 선거구를 나눌 수는 없다. www.acmicpc.net n개의 노드와 간선정보가 주어지면, 위와 같이 빨간색 부분과 파란색 부분을 나누어, 빨간색 부분의 합과 파란색 부분의 합의 최솟값을 구하는 문제입니다. 물론 각 노드마다 값은 주어집니다. 또한 같은 부분에 속하는 모든 노드는 서로 연결되어 있어야 합니다. 1) 일단 빨간색, 파란색 부분을 나누는 경우의 수, 즉 조합을 생각해야 합니다. 2) 부분을 나눴으면, 나눈 부분들이 실제로 가능한지 판별해야 합니다. 2-1) 부분은 최소 1개의 노드를 가져야합니다. 2-2) 부분에 속하는 ..
-
백준 2110(공유기 설치) c++백준 문제 2023. 3. 28. 13:05
문제 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net n개의 집 위치의 x좌표와 c개의 공유기가 주어지면 거리를 최대로 늘리면서 c개의 공유기를 집에 적당히 설치했을 때 최대 거리를 구하는 문제입니다. https://st-lab.tistory.com/277 여기서 문제를 자세히 살펴보시면 됩니다. 간단한 이분탐색 문제이지만, 이분탐색에 구현에 있어서 힘들었던 문제입니다. int l = 1; int r = *max_element(v.begin(), v.end(..
-
백준 5904(Moo 게임) c++백준 문제 2023. 3. 24. 17:48
문제 5904번: Moo 게임 Moo는 술자리에서 즐겁게 할 수 있는 게임이다. 이 게임은 Moo수열을 각 사람이 하나씩 순서대로 외치면 되는 게임이다. Moo 수열은 길이가 무한대이며, 다음과 같이 생겼다. m o o m o o o m o o m o o o www.acmicpc.net S(0) = "moo" S(1) = S(0) + mooo + S(0) S(2) = S(1) + moooo + S(1) ... 위와 같은 moo 수열이 있습니다. 이 때 n이 주어지면, n번째 글자를 출력하면 되는 문제입니다. moo수열은 무한대입니다. n > n; moo(n, 0, ans.length()); } 이제 위에서 설명한 것은 코드로 구현하겠습니다. void moo(int i, int step, int init)..
-
백준 2133(타일 채우기) c++백준 문제 2023. 3. 22. 16:47
문제 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net 3 * n 행렬을 (2*1) 타일과 (1*2) 타일로 채우는 경우의 수를 구하는 문제입니다. 위의 예시는 n =12 인데 이런식으로 채우면 됩니다. 생각해 보면 n =홀수 이면 타일을 채울 수 없습니다. 먼저 n = 2이면 총 3가지로 타일을 채울 수 있습니다. 따라서 dp[2] = 3입니다. n = 4이면 반으로 갈라서 dp[4] = dp[2] * dp[2] 일거 같지만, 아닙니다. 특별한 경우가 있습니다. 위의 두가지 경우의 수는 dp[2]의 타일들로 만들 수 없습니다. 따라서 dp[4] = dp[2] * dp[2] + 2 = 11입니다. 그러면 dp[6]은 어떨..
-
백준 2565(전깃줄) c++백준 문제 2023. 3. 19. 14:36
문제 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net n개의 전깃줄이 주어지면 전깃줄이 겹치지 않게 주어진 전깃줄을 최소로 제거해야 되는 문제입니다. 즉, 최소로 제거할 전깃줄의 개수를 구하는 문제입니다. 예를 들어 왼쪽의 그림처럼 전깃줄이 주어진다면 , , 를 제거하거나 , , 를 제거하면 모든 전깃줄이 엉키는 부분이 없어집니다. 즉, 3개의 전깃줄을 제거하면 됩니다. 일단 입력부분을 보면 알겠지만, A부분의 전깃줄이 오름차순으로 차례대로 주어지지 않습니다. 그리고 전깃줄의 시작점을 A라 하고, 끝점을 B라 하면..