신규 프로젝트에서 스프링 4.2.3 버전을 쓰다가 5.3.13 버전으로 버전업을 했다. 일단 첫째로 라이브러리 호환 안되는 경우 체크 + 저번에 보아두었던 RestTemplate 말고 WebClient 메서드를 알아 보려고 했는데 테스트용으로 가볍게 API를 호출했던 결과 404만 뱉어냈다. swagger-ui.html 관련 페이지를 호출하는 경우도 모두 마찬가지였다. 당시의 로컬 호스트 로그 기록 : 더불어 filter 단에서 찍히는 클라이언트 요청의 파라미터도 컨트롤러 단에서는 찾아볼수도 없는 버그도 있었음. 다른 사람들은 ? https://stackoverflow.com/questions/70691545/http-status-404-not-found-java-spring-mvc HTTP Status..
https://www.acmicpc.net/problem/2847 2847번: 게임을 만든 동준이 학교에서 그래픽스 수업을 들은 동준이는 수업시간에 들은 내용을 바탕으로 스마트폰 게임을 만들었다. 게임에는 총 N개의 레벨이 있고, 각 레벨을 클리어할 때 마다 점수가 주어진다. 플레이어 www.acmicpc.net class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int length = Integer.valueOf(br.readLine()); int[] tt = new int[length]; fo..
현재 개발 중인 프로젝트는 bearer 방식의 jwt + hash 비밀번호를 쓰려고 한다. SHA-256에 대해 알아 보려고 한다. java code 사용 할 경우. import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class main { public static void main(String[] args) throws Exception { System.out.println(sha256("needjarvis")); } /** * SHA-256으로 해싱하는 메소드 * * @param bytes * @return * @throws NoSuchAlgorithmException */ public sta..
해결책 1. Add Frameworks Support - > maven 선택 해결책 2. maven 환경으로 인식하는것 같지만 라이브러리는 찾지 못함. .idas 설정 파일로 들어간다. libraries 파일이 존재하는지 체크한다. 위와 같은 파일들 목록이 필요함. 기존에 Intellij + maven 설정환경이 있었는지 확인해서 파일을 붙여넣기한다. 프로젝트의 .iml 파일에 라이브러리 관련 설정이 잘 되어있는 지 체크한다. 문제 상황 2. Dependencies 설정이 죄다 빨간 불 들어와서 인식도 안되는 경우. POM.xml 파일의 repository를 다지웠다가 다시 다른 걸로 설정해서 다시 올릴 것.
완전탐색 상대적으로 구현이 간단하고, 해가 존재한다면 항상 찾게 된다. 완전 탐색으로 푼다면 기본적으로 시간 복잡도가 O(2^N)이나, O(N!) 이므로 INPUT의 값이 작아야한다. DFS / BFS 와 조합해서 풀이가 되는 문제가 꽤 있음. 방식은 대개 EX) { a, b, c, d } 중 2개를 뽑아서 일렬로 세운다면, ab ac ad ba bc bd ca cb cd da db dc 이처럼 다 찾거나, 반복문을 필요한 개수 만큼 돌리게 된다. for (int i=0; i < size; i++ ) { for (int j=0; j < size; j++) { for (int k=0; k < size; j++) { ...... } } } https://programmers.co.kr/learn/course..
선형 검색의 시간 복잡도는 O[N] 이다 라고 설명하는게 좋다. 공통적으로 모든 사람이 이해 하고 내용이 명확하게 어느정도인지 공유되고 알 수 있음 O[N] 으로 쓰는 게 Big O 표기법이다. 상수 알고리즘 O(1) 라고 표기한다. 인풋의 크기가 얼마나 되는 지는 상관이 없다. 위와 같은 알고리즘이 상수 알고리즘 항상 이렇게 구현 할 수 있을리가 없다. 에 속한다. 보기도 쉽고 알기도 쉽다. 다음은 O(N) 로 표기한다. 맨처음에 나타난 그래프가 O(N)이다 대각선 그래프다. Quadratic Time ( 2차 시간 ) 2차 시간은 Nested Loops (중첩반복) 이 있을 때 발생한다. 배열의 각 아이템에 대해 루프를 반복해서 실행한다. 따라서 시간복잡도는 인풋의 N^2 에 해당한다. 로그 시간(L..
https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int money = sc.nextInt(); money = 1000 - money; int answer = 0; int coins = 0; int[] mon..
시작은 테스트 케이스는 통과하는 데, 반례가 뭔지 모르겠다 하지만, 정답을 푼 사람들의 답은 아주 간결했다. Arrays.sort(vv1, new Comparator() { @Override public int compare(T o1, T o2) { return 0; } }); 이 부분이 포인트. Arrays.sort 는 기본적으로 오름차순이지만, 아니라면 오버라이드를 통해 정렬 기준을 정해준다. 시간초과가 뜬 실패한 코드와 달리, 장황하게 for문을 안돌려도 된다. 내부적으로 Arrays.sort 가 처리하고 있겠지라고 생각해서 들어가 봤다. 왜 이거 쓰는지 궁금한 사람이 또 있었다. OKKY | 자바의 Arrays.sort는 왜 Dual-Pivot Quicksort를 사용하나요? 정렬공부를 하다 자바..
순차 및 병렬 Aggregate 작업을 지원하는 일련의 요소입니다. 다음 예에서는 Stream 및 IntStream을 사용한 집계 작업을 보여 줍니다. ✍ 자료가 있는 배열이나 컬렉션 또는 특정 범위 안에있는 일련의 숫자를 처리하는 기능이 미리 구현되어있음. ✍ 스트림을 생성하고, 중간 연산 조건을 지정하고, 최종 연산 처리. ✍ 그렇다고 해서, 기존 자료를 변경하거나, 생성된 스트림을 재사용 할 수는 없다. filter - 조건을 넣고 그 조건에 맞는 참인 경우 추출, 문자열 배열이 있을 때 문자열의 길이가 5이상인 경우를 추출한다면 다음과 같다. List sList = new ArrayList(); sList.stream().filter(s -> s.length() >= 5).forEach(s -> ..