본문 바로가기

반응형

JAVA

(22)
스프링 gemini 연결 나는 학생이라서 유료 버전을 무료로 사용하고 있는 gemini ai를 사용해 보기로 했다. 1. 먼저 여기서 api key를 받아준다.Get API key | Google AI Studio 로그인 - Google 계정이메일 또는 휴대전화accounts.google.com 2. application.yml 파일 설정 # Gemini API 설정gemini: api: key: ${GEMINI_API_KEY} 3. 키 등록디버그 옆에 점 세개를 눌러준다 -> Edit...을 눌러준다. Environment variables 칸에다가 아까 받은 gemini 키를 넣어 주면 됩니다. 혹시 이 칸이 보이지 않으신 분들은 Modify options를 눌러 추가하시면 됩니다. 작성하실 때는 아까 적은 키 이..
Spring Security : 스프링 시큐리티 원리 스프링 시큐리티란 ?API 실행시 사용자 인증 구현한 것인증과 권한, 인가 등 스프링 기반의 보안을 담당하는 하위 프레임워크 인증(Authenticate, 누구인가) 인가(Authorize, 어떤 것을 할 수 있는지)를 담당 스프링 시큐리티에서는 주로 서블릿 필터(filter)와 이들로 구성된 필터체인으로 구성된 위임 모델 사용+ 보안 관련 체계적인 옵션 제공해줘서 개발자 입장에서 일일이 보안 관련 로직 작성하지 않아도 된다. 기본용어- 접근 주체 (Principal) : 보호된 대상에 접근 하는 유저- 인증(Authentication) 인증은 "증명하다"라는 의미 -> 로그인 하는 과정- 인가(Authorization) : "권한 부여" or "허가" 즉 어떤 대상이 특정 목적 실행을 허용(Ace..
백준 1260 : DFS와 BFS 우선 DFS와 BFS에 대한 간단한 설명깊이 우선 탐색(DFS) : 그래프의 깊은 부분을 우선적으로 탐색하는 알고리즘 너비 우선 탐색(BFS) : 그래프의 가까운 노드를 우선적으로 탐색하는 알고리즘 알고리즘 문제 해결 전략: DFS와 BFS의 이해깊이 우선 탐색(DFS)과 너비 우선 탐색(BFS)의 기본 원리와 차이점, 그리고 실제 문제 해결에 적용하는 방법에 대해 설명하는 글입니다.f-lab.kr 문제만 보고 처음에 이해 안되서 그림을 그렸다. DFS우리의 DFS 깊이 우선 탐색은 스택, 재귀호출을 사용해서 한 방향으로 깊이 있게 가는 방식이다.탐색 시작 번호가 1이니까 1을 따라가보자. 1. 인접 노드 중에서 가장 작은 2번 입력 [1,2]2. 이제 2가 정점노드 2의 인접노드는 4 [1,2,4..
백준 2753 윤년 import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int year = kb.nextInt(); int isLeap = (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0) ? 1 : 0; System.out.println(isLeap); kb.close(); }}
버블 정렬 🫧 / 입력 정수 오름차순 정렬 문제: 온라인 삽입 정렬 및 과정 출력사용자로부터 N개의 정수를 입력받는다. 정수를 하나씩 입력받을 때마다, 현재까지 입력된 정수들을 오름차순으로 정렬하여 출력하라.요구사항: 배열 전체를 한 번에 입력받아 정렬하는 것이 아니라, 원소를 하나씩 입력받을 때마다 그 원소를 이미 정렬된 부분에 삽입하고(삽입 정렬), 그 결과를 즉시 출력해야 합니다. 입력104 1 5 10 1 9 3 2 8 8 출력 예시Sorted data : 11234588910 버블정렬 설명① 앞에서부터 인접한 데이터 값을 비교한다. ② 현재 데이터와 다음 데이터를 비교한다. ③ 만약 다음 데이터가 더 작다면 위치를 바꾸고 아니라면 그대로 둔다. ④ 다음 데이터로 이동하여 값을 비교한다. import java.util.Scanner;p..
가장 큰 연속된 정수 찾기 | 연속된 가장 큰 소수 찾기 🧚‍♂️ 🧩 문제N개의 정수를 입력받아 배열에 저장한다.이들 중에서 0개 이상의 연속된 정수들을 더하여 얻을 수 있는 최대값을 구하여 출력하는 프로그램을 작성하라. 입력예시13-2 3 5 -14 12 3 -9 8 -1 13 2 -5 4 출력28 import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int [] data = new int [n]; for(int i=0; i max) ..
소수찾기 , 모든 쌍의 개수 찾기 소수 찾기 class Main { public static void main(String[] args) { for (int n =2; n - 소수찾기에서 굳이 다 돌 필요는 없다. 해당 숫자의 루트값이 없으면 소수 없는 것- 소수를 찾았는데 계속 찾을 필요는 없기 때문에 두번째 for문에 &&isPrime을 추가해서 탈출한다. 결과더보기2357111317192329313741434753596167717379838997101103107109113127131137139149151157163167173... 모든 쌍의 개수를 찾아라 import java.util.*;import java.lang.*;import java.io.*;class Main { public static voi..
반복문, 오른쪽으로 한 칸씩 shift import java.util.*;import java.lang.*;import java.io.*;class Main { public static void main(String[] args) { Scanner kb = new Scanner(System.in); int n = kb.nextInt(); int[] data = new int [n]; for (int i = 0; i max) max = data[i]; } System.out.println("The sum is " + sum); System.out.println("The max is " + max); }} 입력51234..