전체 글

Algorithm/문제

15. 가위 바위 보

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..

Spring/Spring boot

Cannot find template location 에러 해결

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 디렉터리를 만들고..

Language/JAVA

Wrapper 클래스

자바의 자료형은 기본 타입(primitive type)와 참조 타입(reference type)로 나누어지는데 기본타입의 데이터를 객체로 취급해야하는 경우가 있다. 이럴 때 쓰는게 wrapper class인데 기본타입을 객체 형태로 포장하는 것을 의미한다. 기본 타입 : 정수, 실수, 문자, 논리형의 실제 데이터 값 저장 참조 타입 : 객체의 번지를 참조(주소 저장) 메소드 인수로 객체 타입만이 요구된다면 기본 타입의 데이터를 그대로 사용할 수 없기 때문에 기본 타입의 데이터를 객체로 변환한 후에 작업을 수행해야 한다. 왜 wrapper class가 필요한가 싶은데 메서드에 전달된 arguments를 수정하기 위해서는 기본형 변수들을 참조형 변수로 변환해야한다.(기본 형 변수는 값으로 전달되기 때문) j..

Algorithm/문제

14. 보이는 학생

이중 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..

Algorithm/문제

13. 큰 수 출력하기

단순하게 배열에 넣고 탐색하면 끝나는 문제 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); ..

Algorithm/문제

12.암호

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글자..

Algorithm/문제

11. 문자열 압축

변수 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(..

Language/JAVA

문자열 형변환 toString vs String.valueOf()

문자열 형 변환 종류에는 String.valueOf(), Object.toString()가 대표적이다. 두 메서드 모두 객체-> String문자열 참조 자료형으로 형변환 해주는 역할을 한다. 1.String.valueOf() NULL이 전달될 경우 문자열 "null"을 반환한다. 2.toString() toString()은 NULL 값을 문자열로 형 변환시에 NullPointerException을 발생시킨다.

챛채
챛 Development Log