일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- OOP
- 투포인터알고리즘
- 스택
- GCP
- 백준
- 구간합구하기
- String.valueOf()
- 프로그래머스
- 재귀함수
- 코드스테이츠 백엔드
- 백준 11659
- Array.asList
- 코드스테이츠
- 11659
- java
- vm인스턴스생성
- 클라우드에서 도커 실행하기
- Spring MVC 구성요소
- 성능테스트툴
- 버블정렬
- MySQL
- 자바
- 재귀와반복문
- 코딩테스트
- 싱글톤패턴
- 알고리즘
- List.of
- 인텔리제이
- Spring MVC 동작원리
- Spring Web MVC
- Today
- Total
목록Problem Solving (149)
순간을 기록으로
문제 풀이 select i.animal_id, i.name from animal_ins i join animal_outs o on i.animal_id = o.animal_id where o.datetime where i.datetime > o.datetime - 조건: 보호 시작일이 빠른 순 --> order by i.datetime 새로 배운 것 날짜시간형 데이터의 크기 비교 과거 < 현재 < 미래
문제 풀이 select animal_id, name, date_format(datetime, '%Y-%m-%d') as 날짜 from animal_ins order by animal_id; 새로 배운 것 DATE_FORMAT(date, format): 형 변환을 해주는 함수 '%Y': 4자리 숫자 연도 '%y': 2자리 숫자 연도 '%m': 숫자 월(1~12) '%d': 숫자 일(0~31) '%H':시간(00~23) '%h': 시간(00~12) SELECT DATE_FORMAT('2022-04-06','%Y %m %d');// return '2022 04 06
문제 풀이 select o.animal_id, o.name from animal_ins i join animal_outs o on i.animal_id = o.animal_id order by o.datetime-i.datetime desc limit 2; 출처: https://programmers.co.kr/learn/courses/30/lessons/59411 코딩테스트 연습 - 오랜 기간 보호한 동물(2) ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 progr..
풀이 - 각 시간대별로 입양이 몇 건이나 발생했는지 조회하세요. - 결과는 시간대 순으로 정렬합니다. 풀이 SET @HOUR := -1; SELECT (@HOUR := @HOUR + 1) AS 'HOUR', (SELECT COUNT(*) FROM ANIMAL_OUTS WHERE HOUR(DATETIME) = @HOUR) AS 'COUNTS' FROM ANIMAL_OUTS WHERE @HOUR < 23; 새로 배운 것 SET @변수 := value; 변수를 선언합니다. SET에서 '='는 비교연산자가 아닌 대입 연산자로 작동합니다. ':='은 SQL에서 대입연산자입니다. HOUR(DATETIME): 시간을 반환합니다. SELECT HOUR(DATETIME);//return 0~23
문제 풀이 select o.animal_id, o.name from animal_outs o LEFT join animal_ins i on i.animal_id = o.animal_id where i.animal_id IS NULL ORDER BY o.animal_id; 새로 배운 것 LEFT JOIN LEFT JOIN은 왼쪽 테이블의 모든 레코드와 오른쪽 테이블의 일치하는 레코드를 반환합니다. SELECT column_name(s) from table1 LEFT JOIN table2 ON table1 column_name = table2.column_name;
문제 - 만약 8보다 낮은 등급을 받으면 이름을 공개하지 않습니다. - 등급을 기준으로 내림차순합니다. - 만약 등급이 같다면 이름을 기준으로 사전배열로 정렬합니다. - 등급이 8보다 낮은 경우 이름 대신 NULL을 사용합니다. -그리고 등급을 기준으로 내림차순합니다. -만약 등급이 같다면 점수를 기준으로 오름차순 정렬을합니다. 풀이 select IF(g.Grade < 8, NULL, s.Name), g.Grade, s.Marks FROM Students AS s JOIN Grades AS g ON s.Marks BETWEEN g.Min_Mark AND g.Max_Mark ORDER BY g.Grade DESC, s.Name, s.Marks; 새로 배운 것 IF(조건식, value_if_true, val..
풀이 - 대륙의 이름과 각 대륙의 평균 도시 인구수를 조회하세요 - 각 대륙의 평균 도시 인구수는 소수점 아래는 내림합니다. 풀이 select country.continent, floor(avg(city.population)) from city join country on city.countrycode = country.code group by country.continent