전체 글

칠전팔기
·SQL
✅ IF 조건문 IF(조건문, 참인 경우 값, 거짓인 경우 값) SELECT USER_ID, IF(STATUS = 'SALE', '판매중', '거래 완료') FROM TABLE; STATUS의 값이 SALE인 경우 판매중, 그 외에 경우 거래 완료로 출력 💡 2가지로 경우를 나눠 출력하고 싶은 경우 사용 ➕ IFNULL 조건문 IFNULL(col, val) ⇒ 특정 값(=col)이 NULL인 경우 val로 출력 ✅ CASE 조건문 CASE WHEN 조건1 THEN '조건1 반환 값' WHEN 조건2 THEN '조건2 반환 값' ELSE '해당 없는 경우 디폴트 반환 값' END SELECT USER_ID, CASE WHEN(STATUS = 'SALE') THEN '판매중' WHEN(STATUS = 'RE..
https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { public int solution(String dirs) { Map dir = new HashMap(){{ put('L', new int[]{0, -1}); put('U', new int[]{-1, 0}); put('D', new int[]{1, 0}); put('R', new int[]{0, 1}); }}; Set visit =..
·Java
🟢 정규식으로 사용하는 메서드 (in String 클래스) 1. .matches(regex) : 인자로 주어진 정규식에 매칭되는 값이 있는지 확인 2. .replaceAll(regex, replacement) : 문자열 내에 있는 정규식 regex를 replacement 로 대체한 문자열 리턴 3. split(regex) : 인자로 주어진 정규식과 매치되는 문자열을 구분자로 분할한 String 배열 리턴 🟢 정규식 기호 정규식 기호 뜻 예시 ^ 문자열의 시작 의미 ^a : a로 시작 $ 해당 문자열이 $ 앞에 있는 문자로 끝나는지 검사 a$ : a로 끝남 [ ] 괄호 안에 있는 특정 문자를 포함함 [ab][cd] : a, b중 하나 / c, d중 하나 포함 [^ ] 괄호 안에 있는 특정 문자를 포함하지 ..
https://school.programmers.co.kr/learn/courses/30/lessons/12946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static List move = new ArrayList(); public int[][] solution(int n) { hanoi(n, 1, 3, 2); int[][] answer = new int[move.size()][2]; for(int i = 0; i < move.size(); i++){ answer[i] = move.g..
https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr import java.util.*; class Solution { static int mod; public String solution(int n) { StringBuilder ans = new StringBuilder(); String[] number = {"4", "1", "2"}; while(n > 0) { mod = n % 3; n /= 3; if(mod == 0) //나머지 0인 경우 몫..
·Algorithm
🎯 다익스트라? 그래프에서 최단 거리를 구하는 알고리즘 ✅ 하나의 정점에서 다른 모든 정점까지의 최단 거리를 구하는 알고리즘 (출발 노드와 이어진 모든 노드 간 최단 거리 검색) - 출발 노드 ~ 목적지 노드 사이 최단 거리 뿐만 아니라, 출발 노드와 연결된 모든 노드들의 최단 거리 얻을 수 있음 ✅ 간선 가중치는 모두 양수여야 함! ✅ 시간 복잡도 : O(ElogV) ➡️ 특정 노드에서 다른 노드들의 최단 거리를 구하는 문제가 주어진 경우 사용한다! 🔻 과정 1. 주어진 그래프를 인접 리스트로 구현 2. 최단 거리 배열 초기화 : 최단 거리 배열(D[N]) 생성 → D[출발 노드] = 0, 나머지는 MAX 로 초기화 3. 최단 거리 배열에서 현재 값이 가장 작은 노드 선택 (처음은 당연히 출발 노드 시..
·Algorithm/Beakjoon
https://www.acmicpc.net/problem/2631 2631번: 줄세우기 KOI 어린이집에는 N명의 아이들이 있다. 오늘은 소풍을 가는 날이다. 선생님은 1번부터 N번까지 번호가 적혀있는 번호표를 아이들의 가슴에 붙여주었다. 선생님은 아이들을 효과적으로 보호하기 www.acmicpc.net import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader..
·Algorithm/Beakjoon
https://www.acmicpc.net/problem/2133 2133번: 타일 채우기 3×N 크기의 벽을 2×1, 1×2 크기의 타일로 채우는 경우의 수를 구해보자. www.acmicpc.net import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] dp = new int[N + 1]; dp[0] = 1; for (int i = 2; i
https://school.programmers.co.kr/learn/courses/30/lessons/157340 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr /* 대여 시작일 대여 가능, 1 -> 대여중 (대여 불가능한 경우가 하나라도 있으면 불가능하므로)*/ '대여중', '대여 가능') AS AVAILABILITY -- NULL이 없는 경우 FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY GROUP BY CAR_ID ORDER BY CAR_ID DESC; 참고 : https://school.programmers.co.kr/qu..
https://school.programmers.co.kr/learn/courses/30/lessons/59413 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr WITH RECURSIVE H AS ( SELECT 0 AS HR UNION ALL SELECT HR + 1 FROM H WHERE HR < 23) SELECT H.HR HOUR, IFNULL(T.CNT, 0) COUNT FROM H LEFT JOIN (SELECT DATE_FORMAT(DATETIME, '%H') HOUR, COUNT(*) CNT FROM ANIMAL_OUTS GROUP BY D..
https://school.programmers.co.kr/learn/courses/30/lessons/144856 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr WITH SALES AS (SELECT B.PRICE * S.CNT TOTAL_SALES, B.AUTHOR_ID AID, B.CATEGORY FROM BOOK B LEFT JOIN (SELECT SUM(SALES) CNT, BOOK_ID FROM BOOK_SALES WHERE SALES_DATE BETWEEN '2022-01-01' AND '2022-01-31' GROUP BY BOOK_ID) ..
https://school.programmers.co.kr/learn/courses/30/lessons/164668 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr SELECT BOARD.UID USER_ID, USERS.NICKNAME, BOARD.TOTAL_SALES FROM USED_GOODS_USER USERS RIGHT JOIN (SELECT WRITER_ID UID, SUM(PRICE) TOTAL_SALES FROM USED_GOODS_BOARD WHERE STATUS = 'DONE' GROUP BY UID HAVING TOTAL_SALES >=..
mopipi
되고 싶어 개발짱