전체 글 186

조건에 맞는 개발자 찾기

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 틀린 SQLSELECT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAMEFROM DEVELOPERS DWHERE D.SKILL_CODE & 256 != 0 ORD.SKILL_CODE & 1024 != 0ORDER BY D.ID ASC;그냥 코드값으로 해서 그런가 틀렸다고 나옴 수정 SQLPYTHON, C# 둘 다 있는 개발자는 DISTINCT로!SELECT DISTINCT D.ID, D.EMAIL, D.FIRST_NAME, D.LAST_NAMEFROM DEVELOPERS D JOIN SKILLCODES SON D.SKILL_CODE & S...

Algorithm/SQL 2025.10.30

업그레이드 된 아이템 구하기 : MySQL

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 틀린 SQL문SELECT T.ITEM_ID, I.ITEM_NAME, I.RARITYFROM ITEM_INFO I JOIN ITEM_TREE T ON I.ITEM_ID = T.ITEM_IDWHERE I.RARITY = 'RARE' AND I.ITEM_ID = T.PARENT_ITEM_IDORDER BY T.ITEM_ID DESC; 조인에서 이미 I.ITEM_ID = T.ITEM_ID 라고 했어.→ 이 순간 I.ITEM_ID 와 T.ITEM_ID 는 같다고 가정하고 들어간 거야.→ I는 여전히 “업그레이드 결과 아이템” 쪽 정보에 붙어 있음.그런데 WHERE 절에서..

Algorithm/SQL 2025.10.30

[Lv.3] 여행 경로 : Java

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 항공권을 모두 사용해야함 > BFS보다 DFS 백트래킹이 더 효율적 목적지를 사전순으로 정렬하는 법// 목적지를 사전순으로 정렬하기 Arrays.sort(tickets, (a,b)-> { if(a[0].equals(b[0])) return a[1].compareTo(b[1]); return a[0].compareTo(b[0]); }); import java.util.*;class Solution { static boolean[] visited; static List route; ..

[Lv.3] 단어 변환 : Java

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr begin이랑 target이 몇 개의 문자가 다른지 체크begin의 길이만큼 0번째 같고 1, 2번째...다른 words 찾기words에 target 단어 없으면 0 리턴 위처럼 별 생각없이 고민해봤다. 왜 dfs/bfs 파트에 있는 문제일까 고민하다가 gpt에게 도움을 구했다ㅠ 노드: begin과 words의 각 단어.간선: 두 단어가 한 글자만 다르면 연결.목표: begin에서 target까지의 최단 간선 수 → BFS로 레벨(깊이) 카운트.중요 포인트target이 words에 없으면 답은 0 (문제 조건).begin은 배열에 없어도 시작 노드로 큐에 넣으면 ..

[Lv.2] 최댓값과 최솟값 : Java

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문자열 s 를 공백을 기준으로 분리하기하나씩 정수 형태로 비교하기최댓값, 최솟값 저장하기 import java.util.*;class Solution { // 최솟값, 최댓값 반환하기 static int max = Integer.MIN_VALUE; static int min = Integer.MAX_VALUE; public String solution(String s) { String answer = ""; String[] string = s.split(" "); // 공백으로 분리하기 ..

[Lv.2] 타겟 넘버 : Java

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr class Solution { static int target; static int cnt = 0; public int solution(int[] numbers, int target) { // DFS, 백트래킹 > 만들 수 있는 숫자 다 만들어보기 > target이랑 일치하면 카운트 this.target = target; dfs(numbers,0, 0); return cnt; } public static void dfs(int[] numbers, int idx, int..

[Lv.2] 모음 사전 : Java

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 만들 수 있는 문자열이 몇 개 없으니까 다 만들어보기DFS + 백트래킹 > 원하는 단어랑 일치하면 cnt 리턴 이미 찾은 경우 재귀 멈추는 flag 유의하기 : 조기 중단해야 하는 경우class Solution { static final char[] a = {'A', 'E', 'I', 'O', 'U'}; static String word; static int result = 0; public int solution(String word) { // DFS 백트래킹 이용 > AEIOU 순으로 깊이를 1~5로 확장하면서 단어 하나..

728x90