1. 1부터 n 까지의 숫자를 i 배열에 할당해준다. 반복문
2. 반복문을 이용하여 n 을 i 로 나눈다.
3. i 의 값과 나누기 결과값이 같다면, 제곱수이다.! = 1을 반환한다.
4. 그렇지 않다면, 2를 반환한다.
결론적으로 이 코드는 무조건 2만 반환하는 것 같다.
뭔가 나누는 값이나 결과값이 0이나 1이 되는 치명적인 일이 있어서 2만 반환하는 것 같은데.. 어떻게 알아내야할지를 잘 모르겠고... 일일히 나눠서 ㅎ
아니 이거 코테 맞아여? 수학문제 아니에여? 루트가 있구나
그러면 루트씌운 값이 정수면 1 아니면 2를 반환해야겠다
이렇게 작성했는데 오류창 난리났다
저기 Number 을 작성안해주었구나
삼항연산자를 이용한 코드
삼항 연산자를 이용해서 더 짧고 간결한 코드로 작성해보았다.
🎈 Math.sqrt()
숫자의 제곱근을 반환한다.
Math.sqrt(x);
매개변수로 숫자 x 를 가진다.
Math.sqrt(9); // 3
🎈 정수 판별법
- Number.isInteger()
제공된 값이 정수인지 여부를 판별한다.
Number.isInteger(10); // true
Number.isInteger(-10); // true
Number.isInteger('10') // false
Number.isInteger(7.0) // true
Number.isInteger(7.7) // false
- 나머지 연산자 % 활용
정수를 1로 나누면 나머지가 항상 0이 되는 성질을 이용하여 나머지 연산자를 활용해준다.
let a = 1.234
console.log( a % 1 === 0 ); // false
let b = 2
console.log( b % 1 === 0 ); // true
'코딩테스트' 카테고리의 다른 글
코딩테스트 풀이 - 짝수는 싫어요 (0) | 2023.10.28 |
---|---|
코딩테스트 풀이 - 옷가게 할인 받기 | 논리연산자 || , && (0) | 2023.10.28 |
코딩테스트 풀이 - 중앙값 구하기 (0) | 2023.10.28 |
코딩테스트 풀이 - 문자 반복 출력하기 | repeat(), 배열 -> 문자열 형 변환하기, map(), forEach와 map의 차이점 (0) | 2023.10.27 |
코딩테스트 풀이 - 모음 제거 | 정규표현식 (0) | 2023.10.27 |