주문 수량이 정수인지 확인하기
자바스크립트 코딩테스트 문제로 number-validation-methods 주제를 연습해보세요. 난이도는 easy이며, 브라우저에서 바로 JavaScript로 풀이를 실행할 수 있습니다.
주문 수량으로 받은 값이 실제 정수인지 확인하는 문제입니다.
오늘의 메서드
Number.isInteger()
메서드 설명
Number.isInteger()는 전달받은 값이 숫자 타입이면서 정수인지 확인하는 메서드입니다.- 결과는 항상
true또는false입니다. - 이 문제에서는 주문 수량이
3처럼 정수일 때만true를 반환하고,3.5나"3"처럼 조건에 맞지 않는 값은false로 처리합니다.
기본 문법
Number.isInteger(value)
value: 정수인지 확인할 값입니다.
사용 예시
Number.isInteger(3); // true
Number.isInteger(3.5); // false
Number.isInteger('3'); // false
Number.isInteger(0); // true
주의할 점
- 숫자처럼 보이는 문자열은 정수가 아닙니다.
"3"은 문자열이므로false입니다. - 소수는 정수가 아니므로
3.5는false입니다. Number.isInteger()는 값을 숫자로 자동 변환하지 않습니다.- 음수도 정수라면
true가 될 수 있지만, 이 문제의 주문 수량 입력은 0 이상으로 제한합니다.
제한사항
quantity는 숫자 또는 문자열입니다.- 숫자로 들어오는 값은 0 이상 1000 이하입니다.
- 문자열로 들어오는 값은 숫자처럼 보일 수 있지만 그대로 문자열로 취급합니다.
- 반환값은
quantity가 실제 정수 타입이면true, 아니면false입니다.
예시
- 입력:
3-> 출력:true - 입력:
3.5-> 출력:false - 입력:
"3"-> 출력:false - 입력:
0-> 출력:true
힌트
- 값이 숫자 타입인지와 정수인지 한 번에 확인할 수 있는 메서드를 사용해 보세요.
Number.isInteger(quantity)의 결과를 그대로 반환하면 됩니다.- 문자열
"3"을 숫자로 바꾸지 않아야 합니다.
해설
이 문제는 입력값의 모양이 아니라 실제 JavaScript 값의 타입과 정수 여부를 확인하는 연습입니다.
Number.isInteger()는 값이 숫자 타입인지 먼저 보고, 그 숫자가 소수점 없이 정수인지 확인합니다. 그래서 3은 true지만, 3.5는 소수이므로 false입니다. 또한 "3"은 숫자처럼 보여도 문자열이기 때문에 false입니다.
풀이 흐름은 다음과 같습니다.
checkOrderQuantityInteger(quantity)로 값을 받습니다.Number.isInteger(quantity)를 호출합니다.- 그 결과를 그대로 반환합니다.
정답 코드는 다음처럼 작성할 수 있습니다.
function checkOrderQuantityInteger(quantity) {
return Number.isInteger(quantity);
}
이 풀이가 적합한 이유는 직접 타입 검사와 소수점 검사를 나누어 작성하지 않아도, Number.isInteger() 하나로 의도를 분명하게 표현할 수 있기 때문입니다. 특히 "3"처럼 숫자로 바꿀 수 있는 문자열을 자동 변환하지 않는다는 점이 검증 문제에서 중요합니다.
코드 작성
starter code를 바탕으로 함수를 완성한 뒤 예제 테스트를 실행해보세요.
JavaScript
에디터 로딩 중...
커스텀 테스트
함수 인자를 JSON 배열 형태로 입력하세요. 예: [3, 5], [[1, 2, 3]]
아직 실행하지 않았습니다.
실행 결과
아직 실행하지 않았습니다.
예제 테스트를 실행하면 여기에서 결과를 확인할 수 있습니다.
댓글
문제 풀이 아이디어, 질문, 반례를 자유롭게 나눠보세요.