전체 글
-
완전탐색 - 백준[2840] 행운의 바퀴자료구조와 알고리즘/문제풀기 2024. 4. 16. 13:38
import java.util.Arrays; import java.util.Scanner; public class Main{ public static void main (String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); char[] ans = new char[N]; Arrays.fill(ans, '?'); int curIndex = 0; while (K-- > 0) { int backStep = sc.nextInt(); char backAlphabet = sc.next().charAt(0); int nextIndex = ((curIndex - backStep) % N + N) % ..
-
완전탐색 - 백준(10250) ACM 호텔자료구조와 알고리즘/문제풀기 2024. 4. 16. 13:14
- 풀이 import java.io.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out)); int n = Integer.parseInt(br.readLine()); while (n-- > 0){ String[] input = br.readLine().split(" "); int h = Integer.parseInt(input[0]); int w = ..
-
완전탐색 - 백준 (10448) 유레카 문제자료구조와 알고리즘/문제풀기 2024. 4. 16. 12:49
- 풀이 import java.io.*; public class Main{ static boolean[] isEurekaNumber = new boolean[1001]; public static void main(String[] args) throws IOException{ int[] triangleNumber = new int[50]; int triagleCnt = 0; for(int i =1;;i++){ int number = i*(i+1)/2; if(number > 1000) break; triangleNumber[triagleCnt++] = number; } BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int ..
-
완탐자료구조와 알고리즘/알고리즘 2024. 4. 12. 23:53
진법 변환 보기 회문인 수에서는 볼게 딱히 없었다. 팰린드롬 검사할때 length/2해야한다는 것 정도 ACM호텔 몫과 나머지 이용해서 문제 풀 때 1~H /H -> 1로 맞춰주고 싶어 -> 1~H구간을 1로 원래는 H만 1임 -> (-1)/h +1 나누기 구간 맞추기 (경계값다르고, 몫이 0이 아닌 1부터 시작하고싶을 때) -> 나머지 구간 맞추는 것도 같은 방법 사용함 (나머지 결과랑 나누는 수 맞춰주고 싶을 때, 0~h-1나머지 아니고 1-h 나머지로) H+1 ~ 2H =>2로 나오는데 110과 111 똑같이 11호로 배정 판화 방문 남기는 기본 스킬! 행운의 바퀴.. 시계방향이면 반대로 보이는게 맞구낭 환형일 경우! 배열을 연결된 것 처럼 사용하는 스킬 배워가자 마지막부터 하는 법
-
비밀입니다카테고리 없음 2024. 2. 13. 00:18
동작 흐름 - OAuth2 login //OAuth login OAuth2LoginAuthenticationFilter -> attemptAuthentication(request,response) 메서드 동작 -> AuthenticationManager에 authenticate메서드 호출 -> OAuth2LoginAuthenticationProvider의 authenticate메서드가 다시 호출됨 -> 로그인 시도를 통해 발급받은 외부인증서버에 대한 access 토큰 정보, 혹은 유저 정보를 OAuth2UserRequest에 담아서 UserService.loadUser()메서드 호출 -> 여기서 UserService는 Custom으로 만든 UserService를 의미함! -> 원래 기능은 외부에서 주어진..
-
Oauth2 + JWT카테고리 없음 2024. 2. 11. 01:43
OAuth2 동작원리 OAuth2 변수 설정 #registration spring.security.oauth2.client.registration.naver.client-name=naver spring.security.oauth2.client.registration.naver.client-id=발급아이디 spring.security.oauth2.client.registration.naver.client-secret=발급비밀번호 spring.security.oauth2.client.registration.naver.redirect-uri=http://localhost:8080/login/oauth2/code/naver spring.security.oauth2.client.registration.naver...
-
SpringDataJPA (1) - 공용 인터페이스, @QueryWeb/JPA 2024. 1. 30. 15:18
1. 공용 인터페이스 설정 - JavaConfig 설정 (부트 사용시 생략 가능) @Configuration @EnableJpaRepositories(basePackages = "jpabook.jpashop.repository") public class AppConfig {} - 스프링 부트 사용시 @SpringBootApplication 위치를 지정 - 만약 위치가 달라지면 @EnableJpaRepositories필요 - org.springframework.data.repository.Repository를 구현 클래스는 스캔 대상이 된다. - 프록시로 동작한다. - @Repository 어노테이션은 JPA 예외를 스프링 예외로 변환하는 과정을 처리한다. - 컴포넌트 스캔을 스프링 데이터 JPA가 자동으..
-
자알인 - 스택 & 큐자료구조와 알고리즘/알고리즘 2024. 1. 30. 12:08
1. 유효한 괄호 - 내 풀이(1ms) public boolean isValid(String s) { //먼저들어간 괄호는 무조건 이전 괄호와 짝이어야함 //사실상 거의 뭐 팰린드롬 검사지 char[] chararr = s.toCharArray(); Deque deq = new ArrayDeque(); for(char p : chararr){ if(p == '(' || p == '[' || p == '{'){ deq.push(p); }else{ if(deq.isEmpty()){ return false; } if(p == ')' && deq.peek() == '('){ deq.pop(); }else if(p == ']' && deq.peek() == '['){ deq.pop(); }else if(p == ..