기타/study 33

Spring Boot + React CORS 연동 (로컬 환경)

React로 프론트엔드를 구성하고 Spring Boot로 백엔드 서버를 구성한 프로젝트에서 로컬 개발 시 CORS 연동처리프론트엔드는 http://localhost:3000에서 실행백엔드는 http://localhost:8080에서 실행 연동 후 프론트 실행 시 현재 시간 나타내기 전역(Global) 설정import org.springframework.context.annotation.Configuration;import org.springframework.web.servlet.config.annotation.CorsRegistry;import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;@Configurationpublic cl..

기타/study 2025.04.13

JWT - JSON Web Token

JWTJWT(JSON Web Token) 인증에 필요한 정보들을 암호화시킨 JSON 토큰을 의미함JWT 기반 인증은 JWT 토큰(Access Token)dmf HTTP 헤더에 실어 서버가 클라이언트를 식별하는 방식임사용자 로그인 이후 서버가 아닌 클라이언트에 인증 관련 토큰을 발급하고이를 똥해 추가 인증을 처리함 인증 방식의 변화: 세션 기반 인증 vs 토큰 기반 인증세션 기반 인증세션 기반 인증은 사용자가 로그인하면 서버가 세션 ID를 생성하고 이를 클라이언트(주로 쿠키)에 저장이후 클라이언트는 서버에 요청할 때마다 세션 ID를 함께 보내고서버는 해당 세션 ID를 통해 로그인 상태를 확인합니다.문제점:서버 부담: 로그인한 사용자가 많아질수록 서버 메모리에 세션 정보를 저장해야 하므로 부하가 증가확장성(..

기타/study 2025.03.24

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 25)

문제 설명양의 정수 n이 매개변수로 주어집니다. n × n 배열에 1부터 n2 까지 정수를 인덱스 [0][0]부터 시계방향 나선형으로 배치한 이차원 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ n ≤ 30 입출력 예nresult4[[1, 2, 3, 4], [12, 13, 14, 5], [11, 16, 15, 6], [10, 9, 8, 7]]5[[1, 2, 3, 4, 5], [16, 17, 18, 19, 6], [15, 24, 25, 20, 7], [14, 23, 22, 21, 8], [13, 12, 11, 10, 9]]입출력 예 설명입출력 예 #1예제 1번의 n의 값은 4로 4 × 4 배열에 다음과 같이 1부터 16까지 숫자를 채울 수 있습니다.0123행 \ 열012301..

기타/study 2025.01.31

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 24)

문제 설명팀의 막내인 철수는 아메리카노와 카페 라테만 판매하는 카페에서 팀원들의 커피를 사려고 합니다. 아메리카노와 카페 라테의 가격은 차가운 것과 뜨거운 것 상관없이 각각 4500, 5000원입니다. 각 팀원에게 마실 메뉴를 적어달라고 하였고, 그 중에서 메뉴만 적은 팀원의 것은 차가운 것으로 통일하고 "아무거나"를 적은 팀원의 것은 차가운 아메리카노로 통일하기로 하였습니다.각 직원이 적은 메뉴가 문자열 배열 order로 주어질 때, 카페에서 결제하게 될 금액을 return 하는 solution 함수를 작성해주세요. order의 원소는 아래의 것들만 들어오고, 각각의 의미는 다음과 같습니다.order의 원소의미 "iceamericano", "americanoice" 차가운 아메리카노 "hotameri..

기타/study 2025.01.24

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 23)

문제 설명어떤 문자열 A가 다른 문자열 B안에 속하면 A를 B의 부분 문자열이라고 합니다. 예를 들어 문자열 "abc"는 문자열 "aabcc"의 부분 문자열입니다.문자열 str1과 str2가 주어질 때, str1이 str2의 부분 문자열이라면 1을 부분 문자열이 아니라면 0을 return하도록 solution 함수를 완성해주세요.제한 사항1 ≤ str1 ≤ str2 ≤ 20str1과 str2는 영어 소문자로만 이루어져 있습니다. 입출력 예str1str2result"abc" "aabcc" 1"tbt" "tbbttb" 0입출력 예 설명입출력 예 #1본문과 동일합니다.입출력 예 #2"tbbttb"에는 "tbt"가 없으므로 0을 return합니다.class Solution { public int solu..

기타/study 2025.01.23

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 22)

문제 설명정수로 이루어진 문자열 n_str이 주어질 때, n_str의 가장 왼쪽에 처음으로 등장하는 0들을 뗀 문자열을 return하도록 solution 함수를 완성해주세요.제한사항2 ≤ n_str ≤ 10n_str이 "0"으로만 이루어진 경우는 없습니다. 입출력 예n_strresult"0010" "10" "854020" "854020" 입출력 예 설명입출력 예 #1"0010"의 가장 왼쪽에 연속으로 등장하는 "0"을 모두 제거하면 "10"이 됩니다.입출력 예 #2"854020"는 가장 왼쪽에 0이 없으므로 "854020"을 return합니다.class Solution { public String solution(String n_str) { return n_str.replaceFirs..

기타/study 2025.01.22

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 21)

문제 설명정수로 이루어진 리스트 num_list가 주어집니다. num_list에서 가장 작은 5개의 수를 제외한 수들을 오름차순으로 담은 리스트를 return하도록 solution 함수를 완성해주세요.제한사항6 ≤ num_list의 길이 ≤ 301 ≤ num_list의 원소 ≤ 100 입출력 예num_listresult[12, 4, 15, 46, 38, 1, 14, 56, 32, 10] [15, 32, 38, 46, 56] 입출력 예 설명입출력 예 #1[12, 4, 15, 46, 38, 1, 14, 56, 32, 10]를 정렬하면 [1, 4, 10, 12, 14, 15, 32, 38, 46, 56]이 되고, 앞에서 부터 6번째 이후의 수들을 고르면 [15, 32, 38, 46, 56]가 됩니다.impo..

기타/study 2025.01.21

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 20)

문제 설명정수 배열 arr이 매개변수로 주어집니다. arr의 길이가 2의 정수 거듭제곱이 되도록 arr 뒤에 정수 0을 추가하려고 합니다. arr에 최소한의 개수로 0을 추가한 배열을 return 하는 solution 함수를 작성해 주세요.제한사항1 ≤ arr의 길이 ≤ 1,0001 ≤ arr의 원소 ≤ 1,000 입출력 예arrresult[1, 2, 3, 4, 5, 6] [1, 2, 3, 4, 5, 6, 0, 0] [58, 172, 746, 89] [58, 172, 746, 89] 입출력 예 설명입출력 예 #1예제 1번의 arr의 길이는 6입니다. arr의 길이를 2의 정수 거듭제곱으로 만드는 방법은 0을 2개, 10개, 26개,..., 추가하는 방법이 있고 그중 최소한으로 0을 추가하는 방법은 2개..

기타/study 2025.01.20

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 19)

문제 설명임의의 문자열이 주어졌을 때 문자 "a", "b", "c"를 구분자로 사용해 문자열을 나누고자 합니다.예를 들어 주어진 문자열이 "baconlettucetomato"라면 나눠진 문자열 목록은 ["onlettu", "etom", "to"] 가 됩니다.문자열 myStr이 주어졌을 때 위 예시와 같이 "a", "b", "c"를 사용해 나눠진 문자열을 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.단, 두 구분자 사이에 다른 문자가 없을 경우에는 아무것도 저장하지 않으며, return할 배열이 빈 배열이라면 ["EMPTY"]를 return 합니다.제한사항1 ≤ myStr의 길이 ≤ 1,000,000myStr은 알파벳 소문자로 이루어진 문자열 입니다. 입출력 예myStrr..

기타/study 2025.01.17

코딩 기초 트레이닝 - 프로그래머스(차근차근 시작해 보세요 Day 18)

문제 설명문자열 myString이 주어집니다. myString을 문자 "x"를 기준으로 나눴을 때 나눠진 문자열 각각의 길이를 순서대로 저장한 배열을 return 하는 solution 함수를 완성해 주세요.제한사항1 ≤ myString의 길이 ≤ 100,000myString은 알파벳 소문자로 이루어진 문자열입니다. 입출력 예myStringresult"oxooxoxxox" [1, 2, 1, 0, 1, 0] "xabcxdefxghi" [0, 3, 3, 3] 입출력 예 설명입출력 예 #1"x"를 기준으로 문자열을 나누면 ["o", "oo", "o", "", "o", ""]가 됩니다. 각각의 길이로 배열을 만들면 [1, 2, 1, 0, 1, 0]입니다. 따라서 [1, 2, 1, 0, 1, 0]을 return ..

기타/study 2025.01.16