728x90

전체 글 50

[프로그래머스 | SQL] 평균 일일 대여 요금 구하기

문제 설명다음은 어느 자동차 대여 회사에서 대여중인 자동차들의 정보를 담은 CAR_RENTAL_COMPANY_CAR 테이블입니다. CAR_RENTAL_COMPANY_CAR 테이블은 아래와 같은 구조로 되어있으며, CAR_ID, CAR_TYPE, DAILY_FEE, OPTIONS 는 각각 자동차 ID, 자동차 종류, 일일 대여 요금(원), 자동차 옵션 리스트를 나타냅니다.Column NameTypeNullableCAR_IDINTEGERFALSECAR_TYPEVARCHAR(255)FALSEDAILY_FEEINTEGERFALSEOPTIONSVARCHAR(255)FALSE자동차 종류는 '세단', 'SUV', '승합차', '트럭', '리무진' 이 있습니다. 자동차 옵션 리스트는 콤마(',')로 구분된 키워드 리스..

[SQL] SQL NOT IN vs NOT EXISTS 차이 정리

📍 NOT INNOT IN은 지정된 값 목록에 포함되지 않은 데이터를 조회할 때 사용합니다.예를 들어 부서 테이블에 존재하지 않는 직원을 조회한다고 가정해보겠습니다.SELECT *FROM EMPWHERE DEPTNO NOT IN ( SELECT DEPTNO FROM DEPT);EMP 테이블의 DEPTNO가 DEPT 테이블의 DEPTNO 목록에 존재하지 않는 경우를 조회합니다.즉,EMP.DEPTNO ≠ DEPT.DEPTNO인 데이터를 찾는 방식입니다. 📍 NOT EXISTSNOT EXISTS는 서브쿼리 결과가 존재하지 않을 때 TRUE가 되는 조건문입니다.같은 예제를 NOT EXISTS로 작성하면 다음과 같습니다. SELECT *FROM EMP AWHERE NOT EXISTS ( SEL..

SQL 2026.03.14

[SQL] SQL JOIN 완전 정리 (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN)

📍 SQL JOIN 완전 정리 (INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL OUTER JOIN)데이터베이스를 사용하다 보면 여러 테이블의 데이터를 함께 조회해야 하는 경우가 많습니다.이때 사용하는 것이 바로 JOIN입니다.JOIN은 두 개 이상의 테이블을 연결하여 하나의 결과로 조회하는 SQL 문법입니다.이번 글에서는 SQL에서 자주 사용하는 JOIN 종류와 사용 방법을 정리해 보겠습니다. 📍 JOIN이 필요한 이유예를 들어 아래와 같은 테이블이 있다고 가정해 보겠습니다.EMP (사원 테이블)EMPNOENAMEDEPTNO7369SMITH207499ALLEN307521WARD30DEPT (부서 테이블)DEPTNODNAME10ACCOUNTING20RESEARCH30SALES사..

SQL/Join 2026.03.10

[Spring] 클라이언트 실제 IP 가져오기 (X-Forwarded-For)

📍 [Spring] 클라이언트 실제 IP 가져오기 (X-Forwarded-For)웹 서비스를 개발하다 보면 사용자의 실제 IP를 저장해야 하는 경우가 있습니다.예를 들면로그인 기록 저장사용자 활동 로그관리자 감사 로그Spring Boot에서는 HttpServletRequest를 통해 IP를 조회할 수 있지만단순히 request.getRemoteAddr()만 사용하면 실제 사용자 IP가 아닌 서버 IP가 조회되는 경우가 있습니다.이번 글에서는 Spring Boot에서 실제 클라이언트 IP를 가져오는 방법을 정리해보겠습니다. 1. 기본 IP 조회 방법가장 기본적인 방법은 HttpServletRequest의 getRemoteAddr()을 사용하는 것입니다.public String getClientIp(Htt..

Java/Spring 2026.03.09

[Git] Git 설치하기 (Mac OS)

📍 Mac OS Git 설치 방법Mac OS에 Git 설치 방법에 대해서 정리해보겠습니다. 🔗 Git 공식 사이트 접속https://git-scm.com/ Git git-scm.com오른쪽 하단에 표기한 [Install for Mac] 부분 클릭homebrew가 설치 되지 않은 경우, [homebrew] 클릭homebrew는 Mac 전용 패키지 관리자로, 설치 및 업데이트가 간단하며 시스템 파일을 건들이지 않고 별도의 경로로 설치되어서 안전합니다. 하단에 표기한 homebrew 명령어 복사/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"터미널 접속 후, 해당 명령어 입력맥북 pa..

Git 2026.02.16

[Spring] 카카오 지도 / Kakao Map Api 사용하기

📍 카카오 지도 API 사용 방법웹 서비스나 블로그에서 지도를 표시해야 할 때, 사용할 수 있는 카카오 지도 API를 처음 사용하는 분들도 이해할 수 있도록 기본 사용 방법을 정리해보겠습니다. 🔑 카카오 맵 API KEY 발급 하기 아래의 사이트에 접속해서 카카오 맵 api key를 발급 받아줘야합니다.https://apis.map.kakao.com/하단에 표기한 [API KEY 발급] 부분 클릭로그인 후, [앱 생성] 클릭개인적인 공부 목적의 경우, 앱 이름: 프로젝트명 / 회사명: 본인 이름 또는 닉네임을 사용하시는 걸 추천드립니다. 앱 생성 완료 후, 앱을 클릭하여서 설정 페이지에 들어가줍니다. 앱 > 플랫폼 키 > 사용할 키 수정 선택 (저는 JavaScript 키를 선택하였습니다.)SDK 도..

API 2026.01.11

[프로그래머스 | Java] n의 배수 고르기

문제 정수 n과 정수 배열 numlist가 매개변수로 주어질 때, numlist에서 n의 배수가 아닌 수들을 제거한 배열을 return하도록 solution 함수를 완성해주세요. 제한사항1 ≤ n ≤ 10,0001 ≤ numlist의 크기 ≤ 1001 ≤ numlist의 원소 ≤ 100,000입출력 예nnumlistresult3[4, 5, 6, 7, 8, 9, 10, 11, 12][6, 9, 12]5[1, 9, 3, 10, 13, 5][10, 5]12[2, 100, 120, 600, 12, 12][120, 600, 12, 12]입출력 예 설명입출력 예 #1numlist에서 3의 배수만을 남긴 [6, 9, 12]를 return합니다.입출력 예 #2numlist에서 5의 배수만을 남긴 [10, 5]를 ret..

[프로그래머스 | Java] 나머지가 1이 되는 수 찾기

문제 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 15 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. 소스코드 class Solution { public int solution(int n) { in..

[프로그래머스 | Java] 핸드폰 번호 가리기

문제 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 * 으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. 제한 조건 phone_number 길이는 4이상, 20이하의 문자열입니다. 입출력 예 phone_number return "01033334444" "*******4444" "027778888" "*****8888" 소스코드 class Solution { public String solution(String phone_number) { String answer = ""; String last_num = ""; for(int i ..

[프로그래머스 | Java] 아이스 아메리카노

문제 머쓱이는 추운 날에도 아이스 아메리카노만 마십니다. 아이스 아메리카노는 한잔에 5,500원입니다. 머쓱이가 가지고 있는 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노의 잔 수와 남는 돈을 순서대로 담은 배열을 return 하도록 solution 함수를 완성해보세요. 제한사항 0 ≤ money ≤ 1,000,000 입출력 예 money result 5,500 [1, 0] 15,000 [2, 4000] 입출력 예 설명 입출력 예 #1 5,500원은 아이스 아메리카노 한 잔을 살 수 있고 잔돈은 0원입니다. 입출력 예 #2 15,000원은 아이스 아메리카노 두 잔을 살 수 있고 잔돈은 4,000원입니다. 소스코드 class Solution { public int[] so..