전체 글 275

프로그래머스 소수만들기(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12977 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 접근법-배열중 3개씩 뽑아서 더한수가 소수인지 판별하기문제 풀이법배열중 3개를 뽑는거고 다행이 배열순서는 012 013 014 023 이런식으로만 체크하면돼서(어차피 7+3,3+7 이나 같으니) 3개조합 구하는 반복문을 짬정말이렇게 많은 반복문이 필요한가 의문이 들긴했었음코드public static int solution(int[] nums) { int answer = 0; for (int i = 0; i i..

코테/lvl1 18:48:06

프로그래머스 모의고사(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/42840 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 접근법-1번,2번,3번 각각 수험자가 찍는 방식이랑 입력된 정답배열 비교해서최다 득점자를 배열에 담아서 알려주기문제 풀이법1,2,3번 패턴자 정답 패턴과 배열은 전부 비교하면 되는 간단한 방식코드public static List solution(int[] answers) { List answer = new ArrayList(); int[] f = {1,2,3,4,5}; int[] s = {2, 1, 2..

코테/lvl1 18:45:58

프로그래머스 최소직사각형(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/86491 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 접근법-조건으로 들어오는 명함을 전부 담을 수있는 최소 사이즈 지갑을 만들어라지갑을 회전해서도 담을수 있다문제 풀이법결국 한쪽만 비교하면 되다고 생각했다난 가로축을 기준으로 잡았고 애먹었던부분이세로긴것들을 가로 축으로 바꾸는 방식을 제대로 구현한느데 한참 걸렸다그냥 배열중 큰걸 한쪽으로 몰면 됐었는데코드public static int solution(int[][] sizes) { int answer = 0; int[] mos..

프로그래머스 가장가까운글자(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/142086 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 접근법-문자열중 나왔던 문자 있는지 있다면 몇번째전에 나왔는지 체크하기문제 풀이법hashmap을 이용해서 각문자열 위치를 저장하는 방법 또는 그냥 문자열 꺼꾸로 돌려서 역순으로 앞에 몇번째가 있는지 찾는방법중 후자를 선택함 전자는 대략적으로 방법만 생각나서 일단 후자로 채점받음코드public static List solution(String s) { List answer = new ArrayList(); Strin..

코테/lvl1 11:12:55

프로그래머스 K번째수(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 접근법-그냥 문제 풀이법배열을 요구사항 요구사항대로 자르고요구 번호 배열에 담아서 주면끝코드public static List solution(int[] array, int[][] commands) { List answer = new ArrayList(); for(int [] command:commands){ Listtemp=new ArrayList(); ..

코테/lvl1 11:11:39

프로그래머스 같은숫자는 싫어(lvl1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/12906?language=java 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 문제 접근법-연속되는 수를 제거하라 단 연속해서 연속되는 수문제 풀이법처음에 이해를 잘못하고 set을 사용해서전체 배열에서 중복없애기를 함 그러나 문제는그냥 연속하는 중복만 사라지게하는 문제였음그러므로 배열전체를 스캔하면서 이전 값을 저장해서비교하는 방법을 사용함 이전값과 같다면 현재값을 새배열에 넣지않음코드public static List solution(int []arr) { List answer = ne..

코테/lvl1 11:07:42

프로그래머스 포켓몬(lvl 1) 풀어보기

문제링크https://school.programmers.co.kr/learn/courses/30/lessons/1845 프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문제 접근법-설명은 길지만 결국 전체 배열중 절반만 뽑을 수 있을때 가장 많이 종류의 뽑을 수있는 수는 몇인가?문제 풀이법종류이니 배열전체중 중복거르기어차피 배열 전체중 최대 절반만 뽑을수 있으니그냥 중복제외 배열사이즈가지고 판결하기로 결정절반 보다 중복제외배열사이즈가 크거나같으면 절반 응답작으면 그냥 중복제외배열 사이즈 리턴하기로 결정코드 public static int solution(int[] nums) { int answer = ..

코테/lvl1 11:03:38

Spring 3.x이상 UserDetailsService 여러개 사용하기

출처이분 때문에 살았다https://velog.io/@thisisnine99/%EC%8A%A4%ED%94%84%EB%A7%81%EC%8B%9C%ED%81%90%EB%A6%AC%ED%8B%B0-%EB%91%90%EA%B0%9C%EC%9D%98-%EC%97%94%ED%8B%B0%ED%8B%B0%EB%A1%9C-%EB%A1%9C%EA%B7%B8%EC%9D%B8 ### 스프링 시큐리티를 통한 폼로그인 스프링시큐리티의 설정 클래스인 SecurityConfig 클래스를 위처럼 설정해두면 " data-og-host="velog.io" data-og-source-url="https://velog.io/@thisisnine99/%EC%8A%A4%ED%94%84%EB%A7%81%EC%8B%9C%ED%81%90%EB%A6%..

Springboot/Security 2024.05.07

Springboot jwt 로그인5(엑세스 토큰 재발급)

1.재발급 로직 작성 public ResponseEntity refreshAccessToken(HttpServletRequest request,HttpServletResponse response) { log.info("토큰재발급 로직 시작"); String refreshToken = extractTokenFromCookie(request,"refresh_token"); Map refreshTokenInfo = new HashMap(); try { refreshTokenInfo = getRefreshTokenInfo(refreshToken); if (refreshTokenInfo == null) { return ResponseEntity.status(HttpStatus.INTERNAL_SERVER_ERRO..

짧은 프로젝트 2024.01.14

Springboot jwt로그인 4(인증필터)

1.jwt서비스에 토큰 오픈 코드 작성 public String getValue(String jwtToken){ try { // JWT 검증을 위한 알고리즘 설정 Algorithm algorithm = Algorithm.HMAC512(jwtSecret); // JWT 검증기 생성 JWTVerifier verifier = JWT.require(algorithm).build(); return verifier.verify(jwtToken).getSubject(); } catch (Exception e) { // 토큰이 유효하지 않거나 디코딩에 실패한 경우 e.printStackTrace(); log.error("토큰이 유요하지 않습니다"); return null; } } 2.인증필터 작성 @Override p..

카테고리 없음 2024.01.13