본문 바로가기

기록/알고리즘

(28)
[SQL] [프로그래머스] 입양 시각 구하기(1) 풀이 DATETIME의 자료형이 DATETIME이기 때문에 문자열로 바꾸어 시간을 추출한다. 시간대 별로 추출하므로 DATETIME으로 묶어 추출할 수 있다. 마지막으로 시간대 순으로 정렬하는 처리도 진행한다. -- 코드를 입력하세요 --MYSQL-- SELECT DATETIME AS HOUR, COUNT(*) AS COUNT FROM ANIMAL_OUTS GROUP BY DATETIME HAVING DATETIME BETWEEN 9 AND 19 ORDER BY DATETIME --ORACLE-- SELECT TO_CHAR(DATETIME, 'HH24') AS HOUR, COUNT(*) AS COUNT FROM ANIMAL_OUTS GROUP BY TO_CHAR(DATETIME, 'HH24') HAVIN..
[SQL] [프로그래머스] 중복 제거하기 풀이 중복 제거를 위한 DISTINCT를 사용한다. SELECT count(DISTINCT name) AS count FROM animal_ins WHERE name IS NOT NULL;
[프로그래머스] 타겟 넘버 programmers.co.kr/learn/courses/30/lessons/43165 코딩테스트 연습 - 타겟 넘버 n개의 음이 아닌 정수가 있습니다. 이 수를 적절히 더하거나 빼서 타겟 넘버를 만들려고 합니다. 예를 들어 [1, 1, 1, 1, 1]로 숫자 3을 만들려면 다음 다섯 방법을 쓸 수 있습니다. -1+1+1+1+1 = 3 +1-1+1+1+ programmers.co.kr 문제 풀이 모든 경우의 수를 탐색하며 numbers 내의 수를 더하고 뺐을 때 target값이 나오면 answer++를 하여 결과를 도출한다. 코드 class Solution { static int answer = 0; public int solution(int[] numbers, int target) { dfs(numbe..
[프로그래머스][그리디] 체육복 programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 문제 풀이 1. lost배열에 있는 학생은 -1로, reserve가 있는 학생은 ++를 해주어 2차원 배열을 생성한다. * 1, 또는 -1을 넣지 않고 ++과 --를 해주는 이유는 lost와 reserve에 같은 학생이 들어있을 경우 고려하기 2. lost를 최소화하기 위해 lost의 길이만큼 루프를 만들어 채울 수 있는지 확인한다. 3. lost를 채울 수 있다면 result..
[프로그래머스] [Hash] 전화번호 목록 https://programmers.co.kr/learn/courses/30/lessons/42577 코딩테스트 연습 - 전화번호 목록 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조 programmers.co.kr 문제 풀이 import java.util.Arrays; class Solution { public boolean solution(String[] phone_book) { Arrays.sort(phone_book); for(int i = 0; i < phone_book.length - 1; i++) { if(phone_book[i + 1].startsWith(..
[프로그래머스] [Hash] 완주하지 못한 선수 문제 : https://programmers.co.kr/learn/courses/30/lessons/42576?language=java 코딩테스트 연습 - 완주하지 못한 선수 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수 programmers.co.kr 문제 설명 수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 ..
백준 1775번) 부녀회장이 될 테야 문제 설명에서는 (i, j)호에 입주하기 위해서 (i, 0), (i, 1), ... (i, j -1)호의 주민 수를 모두 더해야한다. 하지만 직접 그려보면 (i, j)호의 주민 수는 (i, j - 1) + (i - 1, j)의 값과 같다. 전체 크기가 주어졌으므로, 전체를 계산 후 필요한 값만 출력하면 된다. import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String args[]) throws IOException { Scanner scan = new Scanner(System.in); //input case int testcase = scan.nextInt(); int[][]..
백준 10250번) ACM 호텔 import java.io.IOException; import java.util.Scanner; public class Main { public static void main(String args[]) throws IOException { Scanner scan = new Scanner(System.in); int testcase = scan.nextInt(); int[][] result = new int[testcase][3]; for(int i = 0; i < testcase; i++) { result[i][0] = scan.nextInt(); result[i][1] = scan.nextInt(); result[i][2] = scan.nextInt(); } for(int i = 0; i < testc..

LIST