자바수업 기록

22-10-19 자율학습 메모

JadeStone 2022. 10. 19. 17:52

오늘 아침 학원에 오고서 안타까운 소식을 전해들었다.

내가 좋아해마지않던 센세께서 어제 퇴근하시고 운동하시다가 그만 손목을 크게 다치셔서 수술이 필요하신 상황이라고 다른 선생님께 얘기를 들었다.

따라서 오늘 하루종일 자습.  그리고 메모.

 

#제곱근 구하는 메서드
-Math.sqrt() 메소드를 사용하면 쉽게 제곱근을 구할 수 있다. 주의할 점은, 반환타입이 double 이라는 점.
-Math.sqrt(double a) 반환타입: double
 이 메서드를 사용하면 제곱근 값을 구해줌. 매개변수로는 실수형의 최고 사이즈인 double이 들어갈 수 있기 때문에
 사실상 아무 숫자나 다 넣어도 됨. 반환값은 doulbe로 해주기에 타입변환에 주의해서 사용하기.
 
 프로그래머스 문제 : https://school.programmers.co.kr/learn/courses/30/lessons/120909
 풀이:
class Solution {
    public static int solution(int n) {
        int answer = 0;
        double doubleSqrt =Math.sqrt(n);
        int intSqrt = (int)doubleSqrt;
        if( doubleSqrt == intSqrt ) {
         answer = 1;
        } else {
         answer = 2;
        }
        
        return answer;
    }
}

# Arrays.sort 사용시 주의사항.
import java.util.Arrays;  <- 꼭 선언해 주어야함.
이유는?
-Arrays.toString(arr); 은  정렬된 배열을 문자열 형태로 만들어서 리턴해주는것.

#if문 사용시 if문 {} 안에 내용이 단 한줄이라도 무조건 중괄호를 만들어서 그 안에 내용을 작성해주는게 좋음.
-이유1: 프로젝트 협업시 {}이 없으면 가독성이 떨어지기 때문에 꼭 {} 안에 내용을 넣어주기.
-이유2: 
https://school.programmers.co.kr/learn/courses/30/lessons/120839 
위 문제 풀면서 발생한 상황.
*정답:
class Solution {
    public static String solution(String rsp) {
      String answer = "";
        char[] change = rsp.toCharArray();
        for(int i = 0; i <change.length; i++) {
        
         if(change[i]=='2') {
         change[i] = '0';
         } else if(change[i]=='0'){
         change[i] = '5'; 
         } else if(change[i]=='5') {
         change[i] = '2';
         }
        }
        answer = String.valueOf(change);
        
        return answer;
}
}

*오답:
char[] change = rsp.toCharArray();
        for(int i = 0; i <change.length; i++) {
         if(change[i]=='2') change[i] = '0';
         if(change[i]=='0') change[i] = '5';
         if(change[i]=='5') change[i] = '2';
        }
문자열 값을 바꿔 주는 작업 중에 if 문을 이렇게 처리하면 조건대로 변경이 안되는 문제 발견.
따라서 위에 정답과 같이 if문을 변경했더니 문제 해결됨.
이유가 무엇인가 ? 문제에서 입출력 예 "205" 를 rsp에 대입해보자.
결과값은 "052" 가 나와야하지만 위 오답과 같이 if문을 처리하면 "222"가 나옴.

★ 꼭 if문 사용시에 {}를 사용하도록 하자. ★