알고리즘
-
[My SQL] 숫자 연산자 , 문자 연산자알고리즘/My SQL 2023. 2. 10. 15:09
숫자 연산자 BETWEEN NOT BETWEEN {MIN} AND {MAX} 두 값 사이가 아닌 곳에 있음 BETWEEN {MIN} AND {MAX} 두 값 사이에 있음 -- 코드를 입력하세요 SELECT MONTH(START_DATE) AS MONTH,CAR_ID, COUNT(*) AS RECORDS FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY H WHERE YEAR(START_DATE)=2022 AND MONTH(START_DATE) BETWEEN 8 AND 10 AND CAR_ID IN (SELECT HH.CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY HH WHERE YEAR(HH.START_DATE)=2022 AND MONTH(HH.ST..
-
[My SQL] 시간 연산자 , 날짜 연산자알고리즘/My SQL 2023. 2. 10. 15:08
날짜 관련 함수들 현재 날짜 CURRENT_DATE, CURDATE 현재 날짜 반환 CURRENT_TIME, CURTIME 현재 시간 반환 CURRENT_TIMESTAMP, NOW 현재 시간과 날짜 반환 날짜 생성 DATE 문자열에 따라 날짜 생성 TIME 문자열에 따라 시간 생성 YEAR 주어진 DATETIME값의 년도 반환 MONTHNAME 주어진 DATETIME값의 월(영문) 반환 MONTH 주어진 DATETIME값의 월 반환 WEEKDAY 주어진 DATETIME값의 요일값 반환(월요일: 0) DAYNAME 주어진 DATETIME값의 요일명 반환 DAYOFMONTH, DAY 주어진 DATETIME값의 날짜(일) 반환 SELECT car_id, if(sum(if('2022-10-16' between ..
-
[My SQL] GROUP BY ,JOIN - 여러 테이블 조립하기알고리즘/My SQL 2023. 2. 10. 15:08
GROUP BY - 조건에 따라 집계된 값을 가져옵니다. 여러 컬럼을 기준으로 그룹화할 수도 있습니다. -- 코드를 입력하세요 SELECT MCDP_CD AS 진료과코드,COUNT(APNT_YMD)AS 5월예약건수 FROM APPOINTMENT WHERE APNT_YMD LIKE '2022-05%' GROUP BY MCDP_CD ORDER BY 5월예약건수,진료과코드 -- 코드를 입력하세요 SELECT HOUR(DATETIME) AS HOUR, COUNT(*) AS COUNT FROM ANIMAL_OUTS WHERE HOUR(DATETIME) BETWEEN 9 AND 19 GROUP BY HOUR(DATETIME) ORDER BY HOUR(DATETIME) WITH ROLLUP - 전체의 집계값 위의 각..
-
[My SQL] 전반적인 문법 - select알고리즘/My SQL 2023. 2. 10. 10:03
ORDER BY- 특정 컬럼을 기준으로 데이터를 정렬할 수 있습니다. ORDER BY 구문을 사용해서 특정 컬럼을 기준으로 데이터를 정렬할 수 있습니다. ASC : 오름차순, DESC : 내림차순 다중 정렬 시 , 사용 -- 코드를 입력하세요 SELECT ANIMAL_ID,NAME,DATETIME FROM ANIMAL_INS ORDER BY NAME ,DATETIME DESC DISTINCT - 중복된 값들을 제거합니다. GROUP BY 와 달리 집계함수가 사용되지 않습니다. GROUP BY 와 달리 정렬하지 않으므로 더 빠릅니다. SELECT COUNT(distinct(NAME)) AS 'COUNT' FROM ANIMAL_INS WHERE NAME IS NOT NULL IS NULL - NULL인지 확..
-
[코딩테스트] 프로그래머스 javascript 2단계 - 2개 이하로 다른 비트알고리즘/코딩 테스트 2023. 2. 9. 22:51
2개 이하로 다른 비트 - 이 문제는 규칙을 찾는 문제이다. - 짝수는 2진수로 전환시 마지막 자리가 0이다. 그러니 1을 더한 값을 리턴하면 된다. - 홀수는 가장 빨리 0이 나온 자리를 1로 만들고 나머지는 0으로 더하고 이것을 1자리 낮춰서 빼면 된다. 홀수 일때, 101 => 101(원본) + 10(0을 1로 뒷자리를 0으로) + 1(앞 수에서 1자리 제거) = 110 1001 => 1001 + 10 - 1 = 1010 문제 설명 https://school.programmers.co.kr/learn/courses/30/lessons/77885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 ..
-
[코딩테스트] 프로그래머스 javascript 2단계 - 배달 , 다익스트라알고리즘/코딩 테스트 2023. 2. 9. 15:58
배달 - 이 문제는 다익스트라 즉 최단거리를 찾는 문제이다. - 한 노드에서 모든 노드를 검색하는 문제를 다익스트라라고 말한다. 각각의 노드를 방문했을 때 출발지에서 현재 노드까지 가장 가까운 시간만을 저장하면 된다. 문제 풀이 https://school.programmers.co.kr/learn/courses/30/lessons/12978 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 1. 처음에 노드를 기준으로 총 시간과 이동방향 모두를 저장할 배열을 생성한다. - 이때, N+1 즉 노드의 개수 보다 하나 더 추가하여 구현을 쉽게 한다. 2..
-
프로그래머스 javascript 2단계 - 다리를 지나는 트럭알고리즘/코딩 테스트 2023. 2. 9. 15:43
다리를 지나는 트럭 https://school.programmers.co.kr/learn/courses/30/lessons/42583 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 수 있으며, 다리는 weight 이하까지의 무게를 견딜 수 있습니다. 단, 다리에 완전히 오르지 않은 트럭의 무게는 무시합니다. 예를 들어, 트럭 2대가 올라갈 수 있..
-
[코딩테스트] 프로그래머스 javascript 2단계 - 프렌즈4블록알고리즘/코딩 테스트 2023. 2. 9. 12:29
프렌즈4블록 https://school.programmers.co.kr/learn/courses/30/lessons/17679 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 "프렌즈4블록". 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙어있을 경우 사라지면서 점수를 얻는 게임이다. 만약 판이 위와 같이 주어질 경우, 라이언이 2×2로 배치된 7개 블록과 콘이 2×2로 배치된 4개 블록이 지워진다. 같은 블록은 여러 2×2에 포..