TIL

220517 TIL

Vince_rf 2022. 5. 18. 18:00

# Math.sqrt() 와 Math.pow()를 배웠다.

전자는 제곱근을 구해주고 후자는 거듭제곱 값을 구해주는 메서드다.

제곱근이고 거듭제곱이고 뭐시기고 나는 고등학교 시절에도 이미 수포자여서 이렇게 적어놓으면 나중에 내 자신이 봐도 이건 뭔 말이지 할 것이기 때문에 미리 미래의 내 자신에게 말하고 싶다.

인텔리제이로 들고가서 그냥 아무 숫자나 넣고 찍어보면 알기 쉽다.

 

# (배열).clone; 이라는 메서드를 배웠다.

말 그대로 배열을 복사해온다. 대신 복사해온 배열을 담아줄 새로운 공간을 가진 배열이 필요하다.

 

# While에 대해서 새롭게 배웠다.

class Solution {
    public boolean solution(int x) {
        int sum = 0;
int a = x;
      
while (a >= 1) {
sum += a % 10;
a /= 10;
}
 
if (x % sum == 0) {
return true;
} else
return false;
  }
}

 

여기서 대체 a /= 10; 이 뭐하는 놈인고 한참을 고민했는데,

while문 아래 break가 없기 때문에 

x에 18이 들어간다고 치면 

loop1 에서는 sum은 8, a 는 1 ( 에서 while이 끝나는게 아니고 조건이 만족되지 않아서 처 음 으 로 되돌아간다.)

그래서

loop2 에서는 sum이 a(loop1에서 넘어왔기 때문에 1이 들어있음) % 10 해서 기존 8에 1을 더해서 9

a는 1/10 이기 때문에 0이 되어 while문이 더 이상 돌지 않는다.

'TIL' 카테고리의 다른 글

220519 TIL  (0) 2022.05.19
220518 TIL  (0) 2022.05.18
220516 TIL  (0) 2022.05.18
220515 WIL  (0) 2022.05.15
220515 TIL  (0) 2022.05.15