[MySQL] 날짜와 시간 포멧 정하기 (feat. DATE_FORMAT)
주어진 날짜 및 시간을 원하는 형식으로 바꿀 수 있는 함수가 ' DATE_FORMAT ' 이다. DATE_FORMAT ( 시간 값 , '원하는 포멧' ) 형식으로 지정한다. 원하는 포멧은 대소문자를 가리기 때문에 주의해야 한다. %Y 4자리 년도 2022, 1990 %y 2자리 년도 22, 90 %c 숫자 월 (한자리) 1, 2, 3, ... 12 %M 긴 월 (영문) September %b 짧은 월 (영문) Jan, Feb, Mar %d 일자 (두자리) 01, 15, 30 %e 일자 (한자리) 1, 15, 30 %I 시간 (12시간) 01, 05, 11, 12 %H 시간 (24시간) 01, 05, 17, 21, 24 %i 분 00, 05, 30, 54 %s 초 00, 10, 34 SELECT NAME,..
[MySQL] 여러가지 NULL 처리 방법 (feat. IF , IFNULL , COALESCE , CASE)
데이터 값이 NULL 인 경우 다르게 처리해야 할 때가 있다. 이때 4가지 방법으로 NULL 을 다르게 처리할 수 있다. 1. IF 로 처리하기 IF ( 조건문 , '참일 경우', '거짓일 경우' ) IF 문으로 해당 컬럼의 값이 NULL 일 경우 처리할 수 있다. SELECT IF(NAME IS NULL, 'No name', NAME) FROM 테이블명; 2. IFNULL 로 처리하기 IFNULL ( 컬럼 명, 'NULL 일 경우 대체 값' ) IFNULL 문으로 해당 컬럼의 값이 NULL 일 경우 원하는 값으로 대체할 수 있다. SELECT IFNULL(NAME, 'No name') FROM 테이블명; 3. COALESCE 로 처리하기 COALESCE ( 첫 번째 표현식, 두 번째 표현식, 세 번째 ..
[프로그래머스] (Lv.2) 멀리 뛰기
문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 의 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여기에 1234567를 나눈 나머지를 리턴하는 함수, solution을 완성하세요. 예를 들어 4가 입력된다면, 5를 return하면 됩니다. 제한 사항 n은 1 이상, 2000 이하인 정수입니다. - 출력 예시 - 정답 코드 class Solution { public long solution(int n) { ..
[Java] Map 인터페이스에서 값(value)을 기준으로 정렬하기
Map 인터페이스는 '키(key)' 와 '값(value)' 로 이뤄져있다. 키는 중복이 허용되지 않고, Map 인터페이스의 기준이 된다. 따라서 키가 정렬 기준이다. 만약 TreeMap 을 만들어 다음과 같이 코드를 넣으면 key 기준에 따라 정렬되어 저장된다. Map map = new TreeMap(); map.put("b", 100); map.put("a", 90); map.put("c", 80); map.put("d", 70); map.put("e", 60); Set set = map.entrySet(); System.out.println(set); // [a=90, b=100, c=80, d=70, e=60] 하지만 값(value)을 기준으로 오름차순하고 싶으면 어떻게 해야할까? 바로 EntryS..
[프로그래머스] (Lv.1) 모의고사 ***
문제 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작성해주..
[프로그래머스] (Lv.2) 최솟값 만들기
문제 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 없습니다.) 예를 들어 A = [1, 4, 2] , B = [5, 4, 4] 라면 A에서 첫번째 숫자인 1, B에서 첫번째 숫자인 5를 뽑아 곱하여 더합니다. (누적된 값 : 0 + 5(1x5) = 5) A에서 두번째 숫자인 4, B에서 세번째 숫자인 4를 뽑아 곱하여 더합니다. (누적된 값 : 5 + 16(4x4) = 21) A..
[프로그래머스] (Lv.1) 폰켓몬
문제 당신은 폰켓몬을 잡기 위한 오랜 여행 끝에, 홍 박사님의 연구실에 도착했습니다. 홍 박사님은 당신에게 자신의 연구실에 있는 총 N 마리의 폰켓몬 중에서 N/2마리를 가져가도 좋다고 했습니다. 홍 박사님 연구실의 폰켓몬은 종류에 따라 번호를 붙여 구분합니다. 따라서 같은 종류의 폰켓몬은 같은 번호를 가지고 있습니다. 예를 들어 연구실에 총 4마리의 폰켓몬이 있고, 각 폰켓몬의 종류 번호가 [3번, 1번, 2번, 3번]이라면 이는 3번 폰켓몬 두 마리, 1번 폰켓몬 한 마리, 2번 폰켓몬 한 마리가 있음을 나타냅니다. 이때, 4마리의 폰켓몬 중 2마리를 고르는 방법은 다음과 같이 6가지가 있습니다. 첫 번째(3번), 두 번째(1번) 폰켓몬을 선택 첫 번째(3번), 세 번째(2번) 폰켓몬을 선택 첫 번째..