https://www.acmicpc.net/problem/1863 1863번: 스카이라인 쉬운거 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫 www.acmicpc.net 스택 자료구조 문제다. 이 문제를 볼 때마다 뭘 구하라는 건지 이해가 안돼서 패스했었는데 드디어 이해하고 해결했다. 스카이라인의 높이가 바뀌는 경우 좌표가 주어진다. 모든 칸을 커버하는 최대의 직사각형 개수를 구하는 문제라고 판단했다. 스택 문제긴 하지만 스택을 이용하지 않았다. 높이가 바뀌는 지점이 순서대로 입력되므로 입력받는 대로 결과를 처..
분류 전체보기
https://www.acmicpc.net/problem/2179 2179번: 비슷한 단어 첫째 줄에 S를, 둘째 줄에 T를 출력한다. 단, 이 두 단어는 서로 달라야 한다. 즉, 가장 비슷한 두 단어를 구할 때 같은 단어는 제외하는 것이다. www.acmicpc.net 문자열 문제다. 두 단어의 비슷한 정도를 접두사의 길이로 비교하여 가장 비슷한 두 단어를 찾는 문제다. 답으로 S와 T라는 문자열을 출력한다고 했을 때, 우선 순위는 먼저 입력된 순이다. S와 T가 될 수 있는 문자열이 여러개라면 가장 앞쪽에 위치한 단어가 S, S가 같다면 T를 기준으로 판단한다. 접두사의 공통부분을 찾기 위해 입력단에서 문자열과 인덱스를 벡터에 저장했다. 벡터에 저장한 이유는 정렬을 위해서다. 정렬을 하면 인접한 문자..
https://school.programmers.co.kr/learn/courses/30/lessons/151139 대여 횟수가 많은 자동차들의 월별 대여 횟수 구하기 - 대여 시작일을 기준으로 2022년 8월부터 2022년 10월까지 총 대여 횟수가 5회 이상인 자동차들에 대해 - 해당 기간 동안의 월별 자동차 ID 별 총 대여 횟수 리스트를 출력 - 월을 기준으로 오름차순 정렬, 월이 같다면 자동차 ID를 기준으로 내림차순 정렬 - 특정 월의 총 대여 횟수가 0인 경우에는 결과에서 제외 SELECT MONTH(START_DATE) AS MONTH, CAR_ID, COUNT(HISTORY_ID) FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE CAR_ID IN (SELE..
API 공통사항 /name/src/main/java/com.springboot.api 하위에 controller 폴더 생성 controller 폴더 내부에 Controller 클래스 생성 @RestController와 @RequestMapping을 이용하여 내부에 선언되는 메서드에서 사용되는 공통 URL 설정 @RestController @RequestMappint("api/v1/get-api") public class GetController { } GET API 웹 애플리케이션 서버에서 값을 가져올 때 사용하는 API @RequestMapping 이용하기 어노테이션의 method 요소 값을 RequestMethod.GET으로 설정 (거의 사용하지 않는 방법) @RequestMapping(value =..
[https://www.acmicpc.net/problem/14846 14846번: 직사각형과 쿼리 첫째 줄에 N (1 ≤ N ≤ 300)이 주어진다. 다음 N개의 줄에는 행렬의 정보가 주어지며, 각 줄은 N개의 수로 이루어져 있다. 행은 위에서부터 아래로, 열은 왼쪽부터 오른쪽으로 번호가 매겨져 있으며 www.acmicpc.net DP와 누적합 문제다. 해당 칸을 기준으로 왼쪽 위쪽으로 존재하는 숫자들의 개수를 세어 배열에 저장한다. 배열은 3차원 배열로 행렬크기에 1~10의 개수를 각각 저장할 수 있는 11의 크기다. 검정색 부분까지의 누적합을 구하기 위해서는 빨간 부분 + 파란 부분 - 보라 부분을 해야한다. 빨간 부분에도 파란 부분에도 보라 부분이 포함되어 있기 때문에 중복 계산되므로 한 번 빼야..
https://school.programmers.co.kr/learn/courses/30/lessons/157340 자동차 대여 기록에서 대여중/대여 가능 여부 구분하기 - 2022년 10월 16일에 대여 중인 자동차인 경우 '대여중' 이라고 표시\, 대여 중이지 않은 자동차인 경우 '대여 가능'을 표시 - 자동차 ID와 AVAILABILITY 리스트를 출력 - 반납 날짜가 2022년 10월 16일인 경우에도 '대여중'으로 표시 - 자동차 ID를 기준으로 내림차순 정렬 SELECT CAR_ID, CASE WHEN CAR_ID IN (SELECT CAR_ID FROM CAR_RENTAL_COMPANY_RENTAL_HISTORY WHERE '2022-10-16' BETWEEN START_DATE AND EN..