전체 글

문제 출저 https://www.acmicpc.net/problem/4781 4781번: 사탕 가게 각 테스트 케이스의 첫째 줄에는 가게에 있는 사탕 종류의 수 n과 상근이가 가지고 있는 돈의 양 m이 주어진다. (1 ≤ n ≤ 5,000, 0.01 ≤ m ≤ 100.00) m은 항상 소수점 둘째자리까지 주어진다. 다음 n개 www.acmicpc.net 문제 풀이 사탕 종류와 상근이가 가진 돈이 주어진다. 사탕은 가격과 칼로리가 있다. 상근이 가진 돈에서 가장 큰 칼로리를 구해야 한다. 사탕은 여러 번 살 수 있다. 냅색 알고리즘을 적용해 풀었습니다. 단 돈이 소수점 둘째 자리로 주어집니다. dp 배열에 길이를 돈이 담당하기 위해 100을 곱해 정수로 만들었습니다. 소수에서 정수로 변환하는 과정에서 ro..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/293258 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 길이가 10cm 이하인 물고기의 수를 출력해야 합니다. 길이가 10cm 이하인 물고기는 LENGTH가 NULL 입니다. WHERE 문을 통해 LENGTH가 NULL 인 것을 선택합니다. SELECT에서 COUNT를 사용하여 갯수를 셉니다. SQL SELECT COUNT(*) AS FISH_COUNT FROM FISH_INFO WHERE LENGTH IS NULL
문제 출저 https://www.acmicpc.net/problem/22115 22115번: 창영이와 커피 커피는 종류별로 하나씩 준비되어 있기 때문에, 동일한 커피를 여러 개 마실 수 없음에 유의하라. www.acmicpc.net 문제 풀이 목표 카페인을 달성하기 위해 최소한의 커피 갯수를 구하는 문제입니다. 배낭 알고리즘을 적용하여 문제를 풀었습니다. 역순으로 탐색을 진행하여 중복을 제거하며 문제를 풀었습니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; /* 창영이와..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/276034 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 개발자 정보를 담은 테이블인 DEVELOPERS와 프로그래밍 언어에 대한 정보를 담은 테이블인 SKILLCODES가 주어집니다. Python, C# 둘 중 하나를 보유한 개발자의 ID, EMAIL, FIRST_NAME, LAST_NAME을 ID 순으로 조회해야 합니다. 먼저 DEVELOPER의 SKILL_CODE와 SKILLCODES의 CODE를 조인합니다. 조건절인 WHE..
문제 출저 https://www.acmicpc.net/problem/16493 16493번: 최대 페이지 수 첫째 줄에 N(1 ≤ N ≤ 200)과 챕터의 수 M(1 ≤ M ≤ 20)이 주어진다. 둘째 줄부터 각 챕터 당 읽는데 소요되는 일 수와 페이지 수가 주어진다. 소요되는 일 수는 20보다 작거나 같은 자연수이고, 페이 www.acmicpc.net 문제 풀이 남은 일수와 챕터 수가 주어집니다. 챕터는 필요한 공부 일수와 읽게 되는 페이지 수로 구성되어 있습니다. 남은 일수 동안 챕터를 읽어서 가장 많이 읽는 페이지 수를 구해야 합니다. 배낭 알고리즘을 적용하여 문제를 풀었습니다. 이차원 int 배열 dp를 사용합니다. int[][] dp = new int[m+1][n+1] m : 챕터 수, n : ..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/276013 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 DEVELOPER_INFOS 테이블에서 Python 스킬을 가진 개발자 정보를 조회해야 합니다. 개발자가 가진 스킬은 SKILL_1, SKILL_2, SKILL_3 열에 저장되어 있습니다. WHERE 절의 IN을 이용하여 스킬1, 스킬2, 스킬3 중에 Python을 가진 개발자를 찾습니다. SQL SELECT ID, EMAIL, FIRST_NAME, LAST_NAME FRO..
문제 출저 https://www.acmicpc.net/problem/14728 14728번: 벼락치기 ChAOS(Chung-ang Algorithm Organization and Study) 회장이 되어 일이 많아진 준석이는 시험기간에도 일 때문에 공부를 하지 못하다가 시험 전 날이 되어버리고 말았다. 다행히도 친절하신 교수님께서 아래와 www.acmicpc.net 문제 풀이 단원의 수(n)와 공부할 수 있는 시간(t)이 주어진다. 단원은 소요된 시간(k)과 얻을 수 있는 점수(s)로 구성되어 있다. 공부할 수 있는 시간 동안 최대 점수를 구하는게 문제이다. 냅색, 배낭 알고리즘으로 풀었습니다. 1차원 int 배열을 활용했습니다. 한 단원씩 탐색을 진행합니다. 현재의 점수와 단원의 시간을 뺀 점수 + 현..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/273711 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 아이템의 희귀도가 RARE인 아이템의 모든 다음 업그레이드 아이템의 아이디, 아이템 명, 아이템 희귀도를 출력하고 아이템 ID를 기준으로 내림차순 정렬해야 합니다. 주어진 테이블은 아이템 정보가 담긴 ITEM_INFO와 아이템들의 관계를 나타내는 ITEM_TREE 입니다. RARE인 아이템의 모든 다음 업그레이드 아이템 ID를 서브쿼리를 통해 구하고 ITEM_INFO에서 정..
문제 출저 https://www.acmicpc.net/problem/17836 17836번: 공주님을 구해라! 용사는 마왕이 숨겨놓은 공주님을 구하기 위해 (N, M) 크기의 성 입구 (1,1)으로 들어왔다. 마왕은 용사가 공주를 찾지 못하도록 성의 여러 군데 마법 벽을 세워놓았다. 용사는 현재의 가지고 있는 www.acmicpc.net 문제 풀이 높이 n, 너비 m인 성에서 T 시간 안에 용사가 공주를 찾을 수 있는지 확인하는 문제입니다. 용사는 (1,1) 에서 시작하고 공주는 (n,m) 에 있습니다. 성은 0은 통로, 1은 벽, 2는 그람을 의미합니다. 그람을 획득하면 벽을 부수면서 통과할 수 있습니다. BFS와 메모리제이션을 이용하여 풀었습니다. 프로그래밍에서 배열의 시작은 0 입니다. BFS를 통..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/131535 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 2021년 가입환 회원 중 나이가 20세 이상 29세 이하인 회원이 몇 명인지 구해야 합니다. 2021년 20세 이상, 29세 이하 WHERE 절의 조건문을 활용합니다. 몇 명인지 수를 세기 위해 SELECT에 COUNT를 사용합니다. SQL SELECT COUNT(USER_ID) AS USERS FROM USER_INFO WHERE YEAR(JOINED) = 2021 AN..
문제 출저 https://www.acmicpc.net/problem/17845 17845번: 수강 과목 첫줄에 서윤이의 최대 공부시간 N (1 ≤ N ≤ 10,000), 과목 수 K (1 ≤ K ≤ 1,000)이 공백을 사이에 두고 주어진다. 이후 K개의 줄에 중요도 I (1 ≤ I ≤ 100,000), 필요한 공부시간 (1 ≤ T ≤ 10,000)이 www.acmicpc.net 문제 풀이 배낭 문제, 냅색 문제와 같이 풀었습니다. 2차원 DP를 만들어 기존의 값과 새로운 값이 추가했을 때를 비교하여 더 큰 값을 메모리에 저장하는 형식으로 문제를 풀었습니다. 소스코드 import java.io.BufferedReader; import java.io.IOException; import java.io.Inp..
문제 출저 https://school.programmers.co.kr/learn/courses/30/lessons/59405 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 가장 먼저 들어온 동물의 이름을 조회한다. 가장 먼저 들어온 동물을 찾기 위해 DATETIME을 기준으로 오름차순 정렬하고 하나만 출력하는 LIMIT를 사용한다. 그러면 들어온 순서대로 정렬되고 하나만 출력하면 가장 먼저 들어온 동물이 된다. SQL SELECT NAME FROM ANIMAL_INS ORDER BY DATETIME LIMIT 1
너지살
너지살개발자