➜ 코딩 테스트/프로그래머스

프로그래머스 - 오랜 기간 보호한 동물(2) (MySQL)

INS 테이블과 OUTS 테이블을 ID 기준으로 조인한다. order by에서 입양일 - 보호 시작일로 정렬한다. limit 을 이용해 상위 2개만 출력하도록 한다. select INS.ANIMAL_ID, INS.NAME from ANIMAL_INS INS join ANIMAL_OUTS OUTS on INS.ANIMAL_ID = OUTS.ANIMAL_ID order by (OUTS.DATETIME - INS.DATETIME) DESC limit 2;

➜ 코딩 테스트/프로그래머스

프로그래머스 - 있었는데요 없었습니다 (MySQL)

INS 테이블과 OUTS를 ID 기준으로 조인하고 where 문을 이용해 시작일이 입양일보다 빠른경우를 필터링한다. 그리고 결과를 보호 시작일 기준으로 오름차순한다. select INS.ANIMAL_ID, INS.NAME from ANIMAL_INS INS join ANIMAL_OUTS OUTS on INS.ANIMAL_ID = OUTS.ANIMAL_ID where INS.DATETIME > OUTS.DATETIME order by INS.DATETIME;

➜ 코딩 테스트/프로그래머스

프로그래머스 - 더 맵게 (JAVA)

처음에 풀었던건 list를 이용해서 풀었다. 근데 역시 매번 sort를 시켜줘야 하니 확실히 성능면에서 떨어질 것이라 생각했는데 역시 테스트케이스는 다 맞았으나 효율성 면에서 시간초과가 났다. package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) { int[] scoville = {1, 2, 3, 9, 10, 12}; int K = 7; System.out.println(solution(scoville, K)); } public static int solution(int[] scoville, int K) { int answer = 0; List scovlist..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 완주하지 못한 선수 (JAVA)

이 문제는 hashmap을 활용하는 문제였다. 각 참가자의 이름을 키 그리고 등장 횟수를 value로 저장하고 완주자 명단에서 참가자를 찾아 value를 감소시키고 마지막에 남는 참가자가 완주하지 못한 코드를 작성했다. package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) { String[] participant = {"leo", "kiki", "eden"}; String[] completion = {"eden", "kiki"}; System.out.println((solution(participant, completion))); } public static ..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 점프와 순간 이동 (JAVA)

package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) { int N = 5000; System.out.println(solution(N)); } public static int solution(int n) { int ans = n; int count = 0; //한 번에 K칸을 앞으로 점프, 현재까지온거리 * 2 에 해당하는 위치로 순간이동 //순간이동은 건전지 사용량 x //K칸을 점프하는건 K만큼의 건전지 사용량이 듬 //순간이동을 하는게 더 효율적 //거리가 N만큼 떨어져 있는 곳으로 이동 //점프를 하는건 최소화하기 //사용하려는 건전지 사용량의 최솟값..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 상품 별 오프라인 매출 구하기 (MySQL)

select PRODUCT_CODE, SUM(P.PRICE * O.SALES_AMOUNT) AS SALES from PRODUCT P join OFFLINE_SALE O on P.PRODUCT_ID = O.PRODUCT_ID group by P.PRODUCT_CODE order by SALES desc, P.PRODUCT_CODE asc;

➜ 코딩 테스트/프로그래머스

프로그래머스 - [1차] 비밀지도 (JAVA)

이 문제는 format을 사용해서 공백을 0으로 바꿔주고 Integer.toBinaryString을 통해서 2진수로 변환해주는게 중요했다. package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) { int n = 5; int[] arr1 = {9, 20, 28, 18, 11}; int[] arr2 = {30, 1, 21, 17, 28}; System.out.println(Arrays.toString(solution(n, arr1, arr2))); } public static String[] solution(int n, int[] arr1, int[] arr2) ..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 영어 끝말잇기 (JAVA)

문자열 처리 : 각 단어의 마지막 문자와 다음 단어의 첫 문자 비교 중복 단어 검사 : 이전에 말한 단어를 저장하고, 새 단어가 이미 사용된 단어인지 확인 참가자와 차례 계산 : 탈락자의 번호와 차례계산 문자열 비교 : substring() 메소드를 사용해 각 단어의 마지막 문자와 다음 단어의 첫 문자를 추출하는게 핵심 중복검사 : HashSet을 사용해서 이전에 사용된 단어를 저장하고, 새 단어가 이미 존재하는지 체크 탈락자 계산 : i % n 과 i / n 을 사용해서 각각 참가자 번호와 차례를 구한다 package Programmers; import java.util.*; public class ProgrammingBasic { public static void main(String[] args) ..

➜ 코딩 테스트/프로그래머스

프로그래머스 - 카펫 (JAVA)

카펫의 높이는 최소 3부터 시작해야된다. 왜냐면 높이가 3미만이면 브라운 타일로만 이루어진 가장자리를 만들 수 없다. 전체 타일수를 i로 나누었을 때 나머지가 0이면 일단 성립한다. 그 중 중앙의 옐로 타일 영역은 너비 -2 와 높이 -2 의 곱이다. 이 값이 yellow 타일 수와 같으면 정답을 찾은것 이므로 반복문을 중단한다. class Solution { public int[] solution(int brown, int yellow) { int total = brown + yellow; int width = 0; int height = 0; for(int i = 3; i

➜ 코딩 테스트/프로그래머스

프로그래머스 - 자동차 종류 별 옵션이 포함된 자동차 수 구하기 (MySQL)

SELECT CAR_TYPE, COUNT(CAR_TYPE) AS CARS FROM CAR_RENTAL_COMPANY_CAR WHERE OPTIONS LIKE '%통풍시트%' OR OPTIONS LIKE '%열선시트%' OR OPTIONS LIKE '%가죽시트%' GROUP BY CAR_TYPE ORDER BY CAR_TYPE;

강맹석
'➜ 코딩 테스트/프로그래머스' 카테고리의 글 목록