파라미터를 전달하는 방법 중 주로 사용하는 경우는http://xxx.x.x?index=1&page=2http://xxx.x.x/index/1두가지인데 1번은 파라미터의 값과 이름을 함께 전달하는 방식으로 주로 게시판에서 페이지 또는 검색 정보를 함께 전달할 때 사용하고 2번은 Restp api에서 값을 호출할 때 주로 사용한다.spring에서는 이런 전달인자를 처리하는데 2가지 방법을 제시한다.@RequestParam과 @Pathvariable이다.1번은 @RequestParam 어노테이션과 연관이 있는데 url뒤에 붙는 파라미터의 값을 가져올 때 사용한다.단일 파라미터 변환@GetMapping("getDriver")public String viewName(@RequestParam("name")Strin..
N=5로 초기화 한 후 if문을 사용하는데 기준을 A 한 명에게 두고 A가 이긴 경우 A가 가위로 이긴 경우 A가 바위로 이긴 경우 A가 보로 이긴 경우 A가 비긴경우 A가 진 경우로 구별한다. import java.util.Scanner; public class Main { public String solution(int n, int[] a, int[] b) { String answer=""; for (int i = 0; i < n; i++) { if(a[i]==b[i]) answer += "D"; else if (a[i]==1 && b[i]==3) answer += "A"; else if (a[i]==2 && b[i]==1) answer += "A"; else if (a[i]==3 && b[i]==2..
IntelliJ 유료 버전에서 templates 에러 뜨는 경우가 있다. 2023-05-29 16:20:11.348 WARN 13900 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 이런 경우 스프링 부트 스타터 중에 템플릿을 implement 하고 있으나 템플릿이 없는지 확인을 해보아야한다. resources 밑에 templates 디렉터리를 만들고..
자바의 자료형은 기본 타입(primitive type)와 참조 타입(reference type)로 나누어지는데 기본타입의 데이터를 객체로 취급해야하는 경우가 있다. 이럴 때 쓰는게 wrapper class인데 기본타입을 객체 형태로 포장하는 것을 의미한다. 기본 타입 : 정수, 실수, 문자, 논리형의 실제 데이터 값 저장 참조 타입 : 객체의 번지를 참조(주소 저장) 메소드 인수로 객체 타입만이 요구된다면 기본 타입의 데이터를 그대로 사용할 수 없기 때문에 기본 타입의 데이터를 객체로 변환한 후에 작업을 수행해야 한다. 왜 wrapper class가 필요한가 싶은데 메서드에 전달된 arguments를 수정하기 위해서는 기본형 변수들을 참조형 변수로 변환해야한다.(기본 형 변수는 값으로 전달되기 때문) j..
이중 for문으로 짜면 O(n^2)이므로 이 방법 말고 max를 하나 만들어 두고 max를 130으로 초기화 max -> i라는 학생 바로 앞의 학생들 중에서 가장 키가 큰 학생의 키 max값 변할 때마다(130->135->148->150->153) answer ++ import java.util.ArrayList; import java.util.Scanner; public class Main { public int solution(int n, int[] arr) { int answer=1, max=arr[0]; for (int i = 1; i max) { max = arr[i]; answer++; } } return answer; } public static vo..
단순하게 배열에 넣고 탐색하면 끝나는 문제 import java.util.ArrayList; import java.util.Scanner; public class Main { public ArrayList solution(int n, int[] arr) { ArrayList answer = new ArrayList(); answer.add(arr[0]); //첫 번째 수는 무조건 출력이므로 arraylist에 추가 for (int i = 1 ; i arr[i-1]) answer.add(arr[i]); return answer; } public static void main(String[] args){ Main T = new Main(); Scanner kb = new Scanner(System.in); ..
import java.util.ArrayList; import java.util.Scanner; public class Main { public String solution(int n, String s) { String answer =""; for (int i = 0; i < n; i++) { //n개의 문자가 만들어져야함 String tmp = s.substring(0,7).replace('#', '1').replace('*','0'); //0~7번인덱스까지 분리해서 대체 int num = Integer.parseInt(tmp, 2); answer += (char)num; // System.out.println(tmp+ " "+num); s=s.substring(7); //이 코드가 없으면 앞의 7글자..
변수 i로 탐색 cnt = 1로 초기화를 해준다. (가장 왼쪽부터 단어가 있기 때문에) i == i+1과 비교를 하여 참이면 cnt를 증가시키고 거짓이면 answer에 단어를 누적을 시킨다. 그리고 cnt도 1일 경우엔 생략을 해야하므로 1보다 큰 경우에 String화 해서 answer에 누적시킨 후 작업이 완료되면 다시 cnt를 1로 초기화 시킨다. import java.util.ArrayList; import java.util.Scanner; public class Main { public String solution(String s) { String answer =""; s = s + " "; //s 맨 뒤에 빈 문자 추가 int cnt = 1; for (int i = 0; i < s.length(..