본문 바로가기

Programming

(61)
[백준] 5622 - 다이얼 - JAVA[자바] Switch 구문을 이용하면 편하다 https://ch-programmer.tistory.com/64 [조건문] switch-case vs if-else 조건문을 수행하는 구문에는 if-else 구문과 Switch-case 구문이 있다. if - else 구문 if(조건문) {조건문이 true일 때 수행할 실행문 } else { 조건문이 false일 때 수행할 실행문 } if 다음에 나오는 ()괄호 안 ch-programmer.tistory.com import java.io.IOException; import java.io.InputStreamReader; import java.io.BufferedReader; public class Main{ public static void main(String[] ..
[백준] 2908 - 상수 - JAVA[자바] 두가지 방법으로 나눌 수 있다. 입력이 세자리 수이므로, 직접 뒤집을 수도 있다. 1. 직접 뒤집는 방법. import java.io.IOException; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " ..
[SpringBoot]간단한 게시판 만들기 Ref https://nyyang.tistory.com/123 https://devlog-wjdrbs96.tistory.com/209 start.spring.io 를 이용해 생성함 GENERATE 한 뒤에 build.gradle을 불러왔다. 2. Lombok 사용을 위한 설정 **Lombok이란 무엇인가? -> 보통 DTO나 Model, Entity의 경우 여러 속성(Attribute)이 존재하고, 이들이 가지는 property에 대해 Getter, Setter, 생성자들을 매번 작성해주어야 하는데 이러한 부분을 자동으로 만들어주는 Library라고 할 수 있다. Lombok이 없다면 Getter, Setter, 생성자 등을 매번 직접 작성해주어야하고, 변수의 이름이 바뀐다고 하면 직접 바꾸어주어야하는 ..
[백준] 10809 - 알파벳 찾기 - JAVA[자바] 1. 먼저 int형 배열을 하나 생성하여 모두 -1로 초기화 시킨다. 이 배열은 문자열 S에 각 문자의 위치를 가리킬 배열이다. int[] arr = new int[26]; for(int i = 0; i < arr.length; i++){ arr[i] = -1; } 2. S라는 문자열이 주어진다. String S = br.readLine(); for(int i = 0; i < S.length(); i++) { char ch = S.charAt(i); if(arr[ch - 'a'] == -1) {// arr 원소 값이 -1 인 경우에만 초기화 arr[ch - 'a'] = i; } } 3. 반복문을 통해 문자열의 각 문자를 검사한다. 즉, charAt()이라는 메소드를 사용하여 문자를 추출한 뒤 ch라는 변..
[백준] 11720 - 숫자의 합 - JAVA[자바] 2가지 방법이 있다. 1. Scanner 로 입력받아 charAt() 을 사용하여 푸는 방법 2. BufferedReader 로 입력받아 getBytes() 을 이용하여 푸는 방법 방법 1. import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); String a = in.next(); in.close(); int sum = 0; for(int i =0; i < N; i++){ sum += a.charAt(i) - '0'; } System.out.print(sum); } } Scanner를 이용한 가장 ..
[백준] 11654 - 아스키 코드- JAVA[자바] 매우 쉬운 문제이지만, 주의할 점은 "출력하는 값이 주어진 입력에 대한 아스키 코드 값" 이라는 것이다. public class Main { public static void main(String[] args) throws Exception { int a = System.in.read(); System.out.print(a); } } System.in은 가장 기초적인 입력방법이다. System.in은 byte값으로 문자 한 개를 읽어서 해당 문자에 대응되는 아스키 코드 값을 저장할 수 있다. 그리고 반드시 주의해야 할 점은 예외처리를 해주어야한다. IOException (java.io 패키지를 import 해야함) 로 메인 옆에 써주어도 되고, 그냥 Exception 으로 처리해도 된다.
[백준] 1065 -JAVA[자바] 예제 입력 1, 2에서 볼 수 있듯 100미만의 수는 그 자체로 한수이다. 숫자가 1자리, 2자리는 그 자체로 등차수열이라고 할 수 있다. 결국 경우의 수를 따져봐야 하는 것은 100-1000의 숫자이다. 즉, 3자리의 숫자에 대한 한수 여부를 확인하면 되므로 (1000은 한수가 아니다) 백의 자리 숫자 : N / 100 십의 자리 숫자 : (N/10) % 10 일의 자리 숫자: N % 10 이고, 등차 수열의 경우 백의 자리 숫자를 X, 등차를 a라고 하면 백의 자리 숫자: X 십의 자리 숫자: X+a 일의 자리 숫자: X+2a이므로 (십의자리 숫자) *2 = (백의 자리 숫자) + (일의 자리 숫자) 의 관계를 갖고있다. 이를 식으로 표현하면, ((N/10) % 10) *2 = (N/100) + (N..
[백준] 4673 - JAVA[자바] 10000보다 작거나 같은 셀프 넘버를 구해야 하므로, 1부터 10000까지 for문을 돌리며 셀프넘버를 찾는다 우선, 반복되는 작업은 함수로 꺼내주는게 깔끔하고, 관리가 편하겠다 public static int cnst(int number){ int sum = number; //각 자리수를 더해주는 로직 while(number!=0){ sum += number%10; number = number/10; } return sum; } number: 생성자 역할 만약 number가 1234라면 number%10 = 4 number/10 = 123 -> while문을 한번 돌면 num=123과 sum 에는 맨 마지막 자리수를 더한 1237이 나오고, 두번 돌면 num =12와 sum=1237+3 = 1240 ..