본문 바로가기

728x90

분류 전체보기

(405)
[프로그래머스 (Kotlin)] 없는 숫자 더하기 코드 힌트1. 초기값 설정0부터 9까지의 모든 자연수의 합은 45입니다.문제에서 제공된 배열에 없는 숫자를 찾아야 하므로, 먼저 45로 초기화합니다.2. 배열 순회배열에 존재하는 숫자들을 하나씩 순회하면서 result에서 해당 숫자를 차감합니다.배열의 인덱스를 활용해 각 요소를 차례로 접근합니다.3. 최종 결과모든 배열 요소를 차감한 후 남은 값이 배열에 존재하지 않는 숫자들의 합이므로 이를 반환합니다.  여러가지 방법으로 풀기forEachmapfilterNotsum정답은 더보기 클릭더보기class Solution { fun solution(numbers: IntArray): Int { // 변수 result는 0부터 9까지의 숫자의 합인 45로 초기화 var..
[프로그래머스 (Kotlin)] 배열 원소의 길이 코드 힌트1. 배열 길이 저장주어진 배열의 각 문자열 길이를 새로운 IntArray에 저장합니다.문자열 배열에서 각 요소의 길이를 구한 후, 정수 배열로 변환합니다.2. IntArray 생성IntArray는 특정 크기만큼의 정수 배열을 생성합니다.배열 크기는 strlist의 크기와 동일하게 맞춥니다.3. 람다 표현식 활용람다식 내에서 it은 배열의 인덱스를 의미합니다.it을 사용하여 배열의 각 요소에 접근하고, 해당 문자열의 길이를 반환하는 방식입니다.4. 결과 반환IntArray를 통해 각 문자열의 길이를 담은 배열을 반환하여 최종 결과를 제공합니다.  여러가지 방법map()을 사용하여 각 요소별 길이를 구하고 .toIntArray() 로 변환mutableListOf를 사용하여 strlist 요소의 길..
[프로그래머스 (Oracle)] 서울에 위치한 식당 목록 출력하기 코드 힌트1. JOIN을 사용한 데이터 결합REST_INFO 테이블과 REST_REVIEW 테이블을 JOIN하여 연결된 데이터를 조회합니다.REST_ID를 기준으로 두 테이블을 결합하여 리뷰와 식당 정보를 함께 출력합니다.2. 주소 필터링WHERE 절에서 LIKE '서울%'을 사용하여 주소가 '서울'로 시작하는 식당만 필터링합니다.LIKE는 특정 패턴과 일치하는 값을 필터링할 때 사용됩니다.3. 평균 리뷰 점수 계산AVG 함수를 사용하여 각 식당의 평균 리뷰 점수를 계산합니다.ROUND(AVG(...), 2)로 평균을 소수점 둘째 자리까지 반올림하여 표시합니다.4. 그룹화된 데이터 정렬GROUP BY로 각 식당을 그룹화하여 해당 그룹의 평균 리뷰 점수를 구합니다.ORDER BY SCORE DESC, FA..
[Spring Boot] DTO 유효성 검사를 위한 커스텀 어노테이션 만들기 Spring에서 DTO 유효성 검사스프링에서는 DTO를 받을 때 기본적으로 제공하는 유효성 검사를 사용합니다. 그러나 기본 유효성 검사 외에 모든 유효성을 만족시키기에는 부족할 수 있습니다. 이를 해결하기 위해 필요에 따라 커스텀 어노테이션을 만들어 사용할 수 있습니다.커스텀 어노테이션의 필요성DTO 내에서의 유효성 검증: 기본적으로 제공되는 유효성 검사로는 충분하지 않을 수 있습니다. 예를 들어, 여러 필드를 동시에 검사해야 하는 경우 @AssertTrue와 같은 방법을 사용할 수 있지만, 이는 코드 가독성을 저하시킬 수 있습니다.추상화: 커스텀 어노테이션을 사용하면 유효성 검사 로직을 추상화하여 재사용성과 가독성을 높일 수 있습니다.커스텀 어노테이션을 만들기 전 알아야 할 어노테이션1. @Target..
[Spring Boot] Validation AssertTrue/False 사용법 @AssertTrue / @AssertFalse 어노테이션@AssertTrue와 @AssertFalse는 Spring의 유효성 검증에서 필드 간의 관계를 검사할 때 유용하게 사용되는 어노테이션입니다. 이 어노테이션은 주로 두 개 이상의 필드의 값을 비교하거나 특정 조건이 참(true) 또는 거짓(false)인지 검증할 때 사용됩니다.사용 목적다수의 필드 검증: 기본적인 유효성 검증 어노테이션(@NotNull, @Size 등)은 한 필드의 상태만 검사하지만, @AssertTrue와 @AssertFalse는 두 개 이상의 필드를 함께 검사할 수 있습니다.Spring 지원하지 않는 어노테이션 기능: 유효성 검사 로직을 DTO 내부에서 구현하여 가독성과 재사용성을 높일 수 있습니다.비밀번호 일치 확인 예제다음은..
[Spring Boot] "Validation(유효성)"검증 실패 처리: 클라이언트에게 적절한 오류 메시지 보내는 방법" 서버에서 유효성 검증을 사용해 클라이언트로부터 전달된 데이터가 요구 조건을 충족하는지 확인합니다. 만약 데이터가 조건에 맞지 않다면 서버는 MethodArgumentNotValidException을 발생시킵니다.   이러한 예외를 제대로 처리하지 않으면 클라이언트는 단순한 400 에러만 받을 수 있기 때문에, 상세한 오류 메시지를 클라이언트에게 전달하는 것이 중요합니다."  이번 글에서는 Validation을 사용하여 데이터 검증에 실패했을 때 클라이언트에게 상세한 오류 메시지를 전달하는 방법을 설명하겠습니다.  Validation 실패 시 예외 처리의 필요성서버에서 유효성 검증을 통해 클라이언트가 보낸 데이터가 요구 조건을 충족하는지 확인합니다. 예를 들어, 회원가입 시 이름, 나이, 이메일 등의 입력..
[프로그래머스 (Oracle)] 5월 식품들의 총매출 조회하기 코드 힌트1. JOIN을 사용한 데이터 결합두 테이블을 JOIN하여 관련 데이터를 결합합니다.PRODUCT_ID를 기준으로 FOOD_PRODUCT 테이블과 FOOD_ORDER 테이블을 연결하여 필요한 정보를 가져옵니다.2. 날짜 형식 변환 및 필터링TO_CHAR를 사용하여 날짜 필드를 특정 형식으로 변환할 수 있습니다.PRODUCE_DATE를 'YYYY-MM' 형식으로 변환하여 2022년 5월에 해당하는 데이터를 필터링합니다.3. 판매 총액 계산SUM 함수로 각 제품의 총 판매 금액을 계산합니다.O.AMOUNT * P.PRICE를 사용하여 판매된 양과 가격을 곱하여 총 금액을 구하고 이를 합산합니다.4. 결과 정렬ORDER BY 절로 결과를 정렬합니다.TOTAL_SALES 기준으로 내림차순으로 정렬하며,..
[프로그래머스] 시소 짝꿍 코드 힌트1. 빠르게 탐색할 수 있는 자료구조처음 문제를 풀었을 때는 2중 for문을 사용하여 풀었지만, 시간이 많이 소요되어 시간 복잡도 문제가 발생했습니다.빠르게 요소를 찾기 위해 이진 탐색을 사용하는 방법을 고려했습니다.여기서는 HashMap을 사용하여 key는 요소(무게), value는 해당 요소의 빈도로 활용하여 문제를 풀었습니다.2. 짝꿍 맞추기시소 짝꿍이 되는 조건은 두 무게가 같은 비율일 때입니다.예를 들어, 무게가 2(m), 3(m), 4(m)인 지점에 좌석이 있을 때, 두 좌석 간의 비율이 같으면 짝꿍이 됩니다.즉, w1 * {2, 3, 4} == w2 * {2, 3, 4} 조건 중 하나라도 만족하면 짝꿍을 찾을 수 있습니다.3. 중복 허용만약 같은 무게를 가진 사람이 여러 명 있으면,..

728x90