📑 1. 문제설명 💡 2. 풀이과정매개변수로 받은 numlist[]를 가변형 list로 변환순환하며 n%list(i) 값이 0이 아니면 리스트에서 제거list를 다시 배열로 변환해서 반환제출한 코드(컴파일 오류)import java.util.*;class Solution { public int[] solution(int n, int[] numlist) { ArrayList list = Arrays.asList(numlist); for(int i = 0; i 1. Arrays.asList(numlist) 오류numlist는 int[]이므로, Arrays.asList(numlist)는 List가 된다.→ 원하는 건 List인데, primitive type인 int는 boxi..

My Tech Blog (프로그래머스)
오늘의 명언
📑 1. 문제설명 입출력 예 설명입출력 예 #129183에서 1은 3번째에 있습니다.입출력 예 #2232443에서 4는 4번째에 처음 등장합니다.입출력 예 #3 123456에 7은 없으므로 -1을 return 합니다.💡 2. 풀이과정목표는 정수 num에서 숫자 k와 같은 자릿수를 찾아 1-based 인덱스를 반환하는 것이다. class Solution { public int solution(int num, int k) { String numToString = Integer.toString(num); char[] arr = numToString.toCharArray(); char kToChar = (char) (k + '0'); int idx = ..
📑 1. 문제설명 💡 2. 풀이과정Set을 사용하던지 이중 for문 돌려서 풀면 된다. Set은 중복을 허용하지 않고, 검색 속도가 빠르기 때문에 비교 대상인 s1을 Set으로 변환하면 s2의 각 원소가 포함되어 있는지 빠르게 확인할 수 있다. 그리고 이중 for문 으로 풀 때는 중복 카운트 피하려면 `break;` 를 써야 한다. 👨💻 3. 정답코드Set으로 푼 코드import java.util.*;class Solution { public int solution(String[] s1, String[] s2) { Set set = new HashSet(Arrays.asList(s1)); int cnt = 0; for (String str : s2) {..
📑 1. 문제설명❌ 2. 실패한 시도없음 ⭐ 3. 정답코드-- 코드를 입력하세요SELECT i.name, i.datetimeFROM animal_ins i LEFT OUTER JOIN animal_outs o ON i.animal_id = o.animal_idWHERE o.animal_id is nullORDER BY i.datetime ascLIMIT 3;animal_ins 테이블에는 있는데 animal_outs에는 없는 동물을 찾으면 된다.그렇다면 기준테이블은 animal_ins이고, 이 테이블을 왼쪽에 놓고 LEFT OUTER JOIN을 수행한다.JOIN된 테이블에서 o.animal_id가 null인 데이터를 조회하면 animal_ins에는 있고 animal_outs에는 없는 동물들 목록이 나온다..
📑 1. 문제설명❌ 2. 실패한 시도쉬워서 바로 성공 ⭐ 3. 정답코드-- 코드를 입력하세요SELECT i.animal_id, i.nameFROM animal_ins i INNER JOIN animal_outs o ON i.animal_id = o.animal_idWHERE o.datetime SQL에서 날짜(date)는 시간적으로 오래될수록 작은 값이라는 것만 알고 있으면 쉽게 푼다.DATE_FORMAT 안해도 되고 INNER JOIN이라 쉬운 문제인데 이게 왜 lv3 이지?lv2 정도 될 거 같은데...
📑 1. 문제설명❌ 2. 실패한 시도SELECT o.animal_id, o.nameFROM animal_ins i RIGHT OUTER JOIN animal_outs o ON i.animal_id = o.animal_idWHERE o.animal_id is not null AND i.animal_id is null;ORDER BY o.animal_id; 오답정리✅ `o.animal_id IS NOT NULL` ← 불필요한 조건animal_outs o는 RIGHT OUTER JOIN에서 기준 테이블이므로 절대 NULL이 될 수 없다.따라서 이 조건은 쓸 필요가 없다.✅ RIGHT OUTER JOIN 사용 ← 동일 결과지만 덜 직관적일반적으로 OUTER JOIN 할 때는 기준 테이블을 왼쪽에 놓는다.LEF..
📑 1. 문제설명❌ 2. 실패한 시도-- 코드를 입력하세요SELECT p.PRODUCT_CODE, SUM(p.price * o.sales_amount) AS SALESFROM offline_sale o INNER JOIN product p ON o.product_id = p.product_idGROUP BY p.product_codeORDER BY sales, p.product_code ASC; 결과는 잘 출력되는데 답안 제출하면 틀렸다고 함. 처음에는 ORDER BY 절에 DESC 생략해서 그런 줄 알았는데 아님...그리고 컬럼명 대소문자 때문인가 싶어서 select절의 product_code를 PRODUCT_CODE로 고쳤는데도 틀렸습니다. ⭐ 3. 정답코드와... 오랜만에 SQL 했더니 내림차순이..
📑 1. 문제설명💡 2. 풀이과정문제에서 매개변수는 이용자 ID가 담긴 `id_list`, 각 이용자가 신고한 이용자의 ID가 담긴 문자열 배열 `report`, 그리고 정지 기준이 되는 신고 횟수 `k` 이다. 구하고자 하는 것은 각 유저별로 처리 결과 메일을 받은 횟수를 배열 형식으로 리턴하는 것이다. 이것을 Canva로 그림으로 나타내보면 아래와 같다. muzi를 신고한 사람 : apeach (1)frodo를 신고한 사람 : muzi, apeach (2)apeach를 신고한 사람 : 없음 (0)neo를 신고한 사람 : muzi, frodo (2)해시맵으로 푸는 문제라는 걸 알 수 있다. 키는 신고를 당한 유저, 값은 신고한 유저로 구성하면 된다. 이 때 문제에 `한 유저를 여러 번 신고해도 신..