개발일기/TIL(Since24.04.19)

Java - TIL(24.04.25 목)

w.llama 2024. 4. 25. 20:30

오늘한일

  • 내일배움캠프 3주차 수강
    • 생성자 this, 접근제어자 , import 와 package 
  • HyperSkill 문제 풀이
    • for-loop 문
    • break; , continue; 
  • 프로그래머스 (java&SQL 풀기)
    • 두 수의차,두 수의곲,몫 구하기 (java) 
    • 이름있는 동물의 아이디, 역순 정렬하기, 중복제거하기, 동물의 아이디와 이름(SQL)
  • 방송대 알고리즘 과제 작성 후 제출

힘들었던 문제1

Solution

import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // start coding here

        int n = scanner.nextInt();        //학생 수 n 입력
        int a = 0;                        // a 초기설정
        int b = 0;                        // b 초기설정
        int c = 0;                        // c 초기설정
        int d = 0;                        // d 초기설정 

        for(int i = 0; i < n; i++) {      // i는 0부터 시작 ; i는 n보다 작은수일때만 작동 ; i는 수행할때마다 1씩증가
            String grade = scanner.next(); //grade 입력 [A,B,C,D]
            if(grade.equals("A")) {        //입력받은 값이 A랑 같으면 { } 수행
                a++;                       // int a 증가
            }else if(grade.equals("B")) {  // 이하 동문
                b++;
            }else if(grade.equals("C")) {
                c++;
            }else if(grade.equals("D")) {
                d++;
            }                              //여기에 sout있을경우 입력할때마다 프린트됨
        }
        System.out.println(d + " " + c + " " + b + " " + a);  //for문 끝나면 count 된 d,c,b,a순으로 출력)
    }
}

풀면서 힘들었던 점

문자를 입력하는데 입력받은 문자에따라 카운트 해야한다.... 형변환을 해야하나... 라는 생각을 하다

입력값에 따라 따로 count 할 int 변수를 설정하자라는 생각이 들어서 시행해봤다.

문제 해결 됨.

힘들었던 문제 2

Solution

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // Input number
        int n = scanner.nextInt(); // n 입력

        // Start a loop from 1 to n (inclusive)
        for (int i = 1; i <= n; i++) {               //i 가 1부터 n까지 1씩 증가하면서 for문 실행
            if (i % 5 == 0) { 
                continue;                            //5로 나누어떨어질때 if 생략
            } else if (i % 7 == 0) {                 //i 가 7로 나누어떨어질때
                System.out.println( i+ ": stopped"); //숫자 +: stopped 출력
                break;                               //이 if문이 실행되면 for문 중지
            }
            System.out.println(i);
        }
    }
}

- 마지막 System.out.println(i); 이 있고 없고의 차이로 continue의 기능이 활성화가 됐었다.

그 이유를 곰곰히 생각해보니, 마지막 System.out.println을 작성하지 않으면 else if문만 있는거랑 다름이 없다는걸

알게되었고 그 이유로 인해 인텔리제이 자체 내에서 생략하였다. (continue; 선언하면 뒤에 어떤행동을 꼭해줘야한다.)

내일할 일

-내일배움캠프 continue; break; 복습

-HyperSkill 문제풀이 진행

-오전 9시 알고리즘 특강 수강

-프로그래머스 java & SQL 풀기

 

'개발일기 > TIL(Since24.04.19)' 카테고리의 다른 글

Java - TIL(24.04.29 월)  (0) 2024.04.29
Java - TIL(24.04.26 금)  (1) 2024.04.26
Java - TIL(24.04.24 수)  (0) 2024.04.24
Java - TIL(24.04.23 화)  (0) 2024.04.23
Java - TIL(24.04.22 월)  (0) 2024.04.22