본문 바로가기

전체 글

(430)
[백준] 뱀과 사다리 게임 (16928번) 코드 힌트입력 처리사다리와 뱀의 개수를 입력받고, 각 사다리와 뱀의 시작 위치와 도착 위치를 배열 board에 저장합니다. 사다리와 뱀은 동일한 방식으로 처리됩니다.보드 초기화board 배열에서 시작 위치에 도착 위치가 설정되지 않은 경우, 그 위치는 자기 자신으로 설정하여 기본 이동을 가능하게 합니다. 이는 뱀이나 사다리가 없는 경우입니다.BFS 탐색큐를 사용하여 BFS(너비 우선 탐색) 방식으로 게임 보드를 탐색합니다. 큐에는 현재 위치와 그 위치에 도달하기 위한 이동 횟수를 저장합니다.주사위의 결과(1~6)를 기반으로 다음 위치를 계산하고, 해당 위치가 아직 방문하지 않았다면 큐에 추가합니다.종료 조건위치가 100에 도달했을 때, 이동 횟수를 비교하여 최소값을 업데이트합니다. BFS 특성상, 처음으..
[프로그래머스 (Kotlin)] 나누어 떨어지는 숫자 배열 힌트정렬과 필터링먼저 arr.sorted()를 통해 배열을 오름차순으로 정렬한 후, filter 함수를 사용하여 divisor로 나누어 떨어지는 요소만 필터링합니다.filter { it % divisor == 0 }는 각 요소에 대해 나머지가 0인 경우만 남깁니다.빈 배열 처리필터링된 결과 배열 result의 크기가 0일 경우, 즉 조건을 만족하는 요소가 없을 때는 IntArray(1) { -1 }를 반환하여 -1을 값으로 가지는 배열을 반환합니다.이는 문제의 조건을 만족하지 않는 경우에 대비한 예외 처리입니다.정렬된 결과 반환필터링된 결과가 있을 경우, 정렬된 상태에서 결과를 반환하므로 배열의 요소는 항상 오름차순으로 출력됩니다. 정답은 더보기 클릭더보기class Solution { fun sol..
[프로그래머스 (Oracle)] 조건에 맞는 사용자 정보 조회하기 코드 힌트주소 결합CITY || ' ' || STREET_ADDRESS1 || ' ' || STREET_ADDRESS2를 사용하여 사용자의 주소를 결합하여 전체 주소를 생성합니다.이는 각 사용자의 주소 정보를 쉽게 확인할 수 있도록 합니다.전화번호 포맷 변환REGEXP_REPLACE 함수를 사용하여 전화번호(TLNO)를 특정 형식(\1-\2-\3)으로 변환합니다.이는 전화번호의 가독성을 높이며, 특정 형식으로 데이터를 출력합니다.서브쿼리 사용서브쿼리를 통해 USED_GOODS_BOARD 테이블에서 작성자 ID(WRITER_ID)를 그룹화하고, 게시글 수가 3개 이상인 작성자만 필터링합니다.이를 통해 활동성이 높은 사용자만 선택하여 결과를 정제합니다.조인 조건ON U.USER_ID = F.WRITER_ID..
[프로그래머스 (Oracle)] 년, 월, 성별 별 상품 구매 회원 수 구하기 힌트날짜 처리TO_CHAR(SALES_DATE, 'YYYY')와 TO_NUMBER(TO_CHAR(SALES_DATE, 'MM'))를 사용하여 날짜에서 연도와 월을 추출합니다.이는 후속 집계 및 정렬을 용이하게 합니다.JOIN 사용USER_INFO 테이블과 ONLINE_SALE 테이블을 USER_ID를 기준으로 조인하여 판매와 관련된 사용자 정보를 결합합니다.이를 통해 판매 기록에 대한 사용자 정보를 확보할 수 있습니다.조건 필터링WHERE GENDER IS NOT NULL 조건을 사용하여 성별 정보가 없는 레코드는 제외합니다.이를 통해 결과의 정확성을 높입니다.그룹화와 집계GROUP BY 절을 통해 연도, 월, 성별에 따라 데이터를 그룹화하고, 각 그룹의 고유 사용자 수를 계산합니다.COUNT(DISTI..
[프로그래머스 (Oracle)] 즐겨찾기가 가장 많은 식당 정보 출력하기 코드 힌트1. 서브쿼리 사용서브쿼리를 통해 각 음식 종류별로 가장 많은 즐겨찾기를 받은 식당의 정보를 추출합니다.이 서브쿼리는 음식 종류(Food Type)와 그에 대한 최대 즐겨찾기 수(Favorites)를 반환합니다.2. 조인 조건원본 REST_INFO 테이블과 서브쿼리 결과(MAX_I)를 조인하여 최대 즐겨찾기를 가진 식당의 세부 정보를 가져옵니다.조인은 음식 종류와 즐겨찾기 수를 기준으로 수행합니다.3. 정렬결과는 음식 종류(Food Type)를 기준으로 내림차순으로 정렬되어, 가장 인기 있는 음식 종류가 먼저 나타나도록 합니다. 정답은 더보기 클릭더보기더보기SELECT I.FOOD_TYPE, I.REST_ID, I.REST_NAME, I.FAVORITES -- 음식 종류(Food Type), ..
[Spring Boot] MySQL 연결하기 의존성 (Dependencies)Lombok역할: 반복적인 코드 생성을 줄여주는 라이브러리입니다. 예를 들어, getter/setter, toString, equals, hashCode 메서드 등을 자동으로 생성해줍니다.주요 기능: @Getter, @Setter, @ToString, @Builder, @AllArgsConstructor, @NoArgsConstructor 등.Spring Web역할: 스프링 기반 웹 애플리케이션 개발을 위한 의존성으로, HTTP 요청/응답 및 RESTful API 구현에 사용됩니다.주요 기능: Spring MVC, REST API 지원, 웹 애플리케이션의 엔드포인트 설정.Spring Data JPA역할: JPA(Java Persistence API)를 쉽게 사용하기 위한 ..
[프로그래머스 (Oracle)] 취소되지 않은 진료 예약 조회하기 힌트1. 테이블 간의 조인PATIENT, APPOINTMENT, DOCTOR 테이블을 이용해 환자, 예약, 의사 정보를 결합해 조회합니다.환자와 예약 정보는 PT_NO를 기준으로 조인하고, 예약 정보와 의사는 MDDR_ID(의사 ID)를 기준으로 조인합니다.2. 예약 조건예약 날짜는 '2022-04-13'로 지정되어 있으며, 이 날짜에 해당하는 예약을 찾습니다.진료과목은 'CS'(예: 외과)로 필터링하며, 해당 과목에 해당하는 의사를 선택합니다.예약 취소 여부가 'N'인 예약만 포함해, 취소되지 않은 예약만 조회합니다.3. 정렬결과는 예약 날짜를 기준으로 오름차순으로 정렬됩니다. 정답은 더보기 클릭더보기더보기SELECT A.APNT_NO, P.PT_NAME, A.PT_NO, A.MCDP_CD, D.DR_..
[프로그래머스] 호텔 대실 코드 힌트1. 예약 시간 변환입력으로 받은 예약 시간을 분 단위로 변환해요.종료 시간에는 10분의 추가 시간을 더해 방 정리 시간을 고려합니다.2. 시간 정렬예약 시간을 시작 시간을 기준으로 오름차순 정렬하여 처리 순서를 쉽게 만듭니다.3. 방 배정각 예약 시간을 기존의 방에 할당할 수 있는지 확인합니다.방이 겹치지 않으면 기존 방에 예약을 추가하고, 겹치면 새로운 방을 생성합니다.4. 최종 결과모든 예약을 방에 할당한 후 필요한 방의 개수를 반환합니다.  정답은 더보기 클릭더보기import java.util.*;class Solution implements Comparator { // 주어진 예약 시간을 기준으로 필요한 방 개수를 계산하는 메소드 public int solution(S..