728x90

Java 35

[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

[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..

[프로그래머스 | Java] 소문자 바꾸기

문제 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 소문자로 변환하여 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString의 길이 ≤ 100,000 - myString은 알파벳으로 이루어진 문자열입니다. 입출력 예 myString result "aBcDeFg" "abcdefg" "aaa" "aaa" 소스코드 class Solution { public String solution(String myString) { String answer = ""; int temp; for(int i = 0; i = 65 && temp

[프로그래머스 | Java] 대문자로 바꾸기

문제 알파벳으로 이루어진 문자열 myString이 주어집니다. 모든 알파벳을 대문자로 변환하여 return 하는 solution 함수를 완성해 주세요. 제한사항 1 ≤ myString의 길이 ≤ 100,000 - myString은 알파벳으로 이루어진 문자열입니다. 입출력 예 myString result "aBcDeFg" "ABCDEFG" "AAA" "AAA" 소스코드 class Solution { public String solution(String myString) { String answer = ""; int temp; for(int i = 0; i = 97 && temp

[프로그래머스 | Java] 공배수

문제 정수 number와 n, m이 주어집니다. number가 n의 배수이면서 m의 배수이면 1을 아니라면 0을 return하도록 solution 함수를 완성해주세요. 제한사항 10 ≤ number ≤ 100 2 ≤ n, m ≤ 10 입출력 예 number n m result 60 2 3 1 55 10 5 0 입출력 예 설명 입출력 예 #1 60은 2의 배수이면서 3의 배수이기 때문에 1을 return합니다. 입출력 예 #2 55는 5의 배수이지만 10의 배수가 아니기 때문에 0을 return합니다. 소스코드 class Solution { public int solution(int number, int n, int m) { int answer = 0; return number % n == 0 && num..

[프로그래머스 | Java] 피자 나눠 먹기 (3)

문제 머쓱이네 피자가게는 피자를 두 조각에서 열 조각까지 원하는 조각 수로 잘라줍니다. 피자 조각 수 slice와 피자를 먹는 사람의 수 n이 매개변수로 주어질 때, n명의 사람이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요. 제한사항 2 ≤ slice ≤ 10 1 ≤ n ≤ 100 입출력 예 slice n result 7 10 2 4 12 3 입출력 예 설명 입출력 예 #1 10명이 7조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 2판을 시켜야 합니다. 입출력 예 #2 12명이 4조각으로 자른 피자를 한 조각 이상씩 먹으려면 최소 3판을 시켜야 합니다. 소스코드 class Solution { public int s..