일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 라우팅
- 데이터 통신과 컴퓨터 네트워크
- data type
- 이것이 취업을 위한 코딩 테스트다
- 쉽게 배우는 데이터 통신과 컴퓨터 네트워크
- IT5분잡학사전
- 파이썬 연산자
- 자료형
- ARP
- CS
- 파이썬 정렬
- DP
- 이것이 취업을 위한 코딩테스트다
- 컴퓨터 동작방식
- 이코테
- 북클럽
- 파이썬 자료형
- OSI7계층모델
- 기억장치
- sort()
- GIT
- 데이터통신
- 리스트
- 시스템 소프트웨어
- 쿠키
- 노개북
- 노마드코더
- 컴퓨터네트워크
- icmp
- RARP
Archives
- Today
- Total
뚝딱햄 탈출기
[JavaScript] 엘리스 트랙 - 3, 6, 9 게임 본문
3, 6, 9 게임
1부터 30까지 3, 6, 9게임을 하는 프로그램을 작성해 봅시다.
3, 6, 9게임의 규칙은 다음과 같습니다.
- 1부터 차례대로 말한다.
- 숫자 3, 6, 9가 들어가는 수의 경우에는 짝!을 출력한다.
- 예시) 6, 19, 23, 35
지시사항
위 3, 6, 9게임의 규칙에 맞게 1부터 30까지 출력되는 결과를 배열에 담아 solution 함수 안에서 return 해주세요.
내 오답
function solution() {
const num = [];
for (let i = 1; i <= 30; i++){
if ((i % 10) % 3 === 0){ // i의 1의 자리 수 % 3 === 0
num.push("짝!");
} else if (Math.floor(i / 10) % 3 === 0){ // i의 십의 자리 수 % 3 === 0
num.push("짝!");
} else{
num.push(i);
}
}
return num;
}
// 실행 혹은 제출을 위한 코드입니다. 지우거나 수정하지 말아주세요.
module.exports = solution;
오답 원인
오류 : 10 미만의 모든 수와 10, 20이 "짝!" 으로 출력됨.
10, 20이 "짝!" 으로 출력되는 이유?
(i % 10) % 3 === 0 은 (i % 10) 을 통해 일의 자리 수를 구하고, 그걸 3으로 나눈 나머지가 0인지 판별해 일의 자리 수가 3의 배수인지 확인하기 위해 작성한 코드였다.
그러나 (i % 10) === 0 일 경우 (= 일의 자리 수가 0) 일의 자리 수가 3의 배수가 아니더라도 (i % 10) % 3 === 0 이 성립한다. (0 % 3 === 0)
=> 따라서 (i % 10) !== 0 조건문도 함께 작성해주어야 한다.
1 ~ 9 사이 모든 수가 "짝!" 으로 출력되는 이유?
Math.floor(i / 10) % 3 === 0 는 Math.floor(i / 10) 를 통해 십의 자리 수를 구하고, 십의 자리 수가 3의 배수인지 확인하기 위해 작성한 코드였다.
그러나 위와 마찬가지로 Math.floor(i / 10) === 0 일 경우 (= 십의 자리 수가 0. 한 자릿수) Math.floor(i / 10) % 3 === 0 이 성립한다.
=> 따라서 Math.floor(i / 10) !== 0 조건문도 함께 작성해주어야 한다.
정답
function solution() {
const num = [];
for (let i = 1; i <= 30; i++){
if ((i % 10) % 3 === 0 && (i % 10) !== 0){
num.push("짝!");
} else if (Math.floor(i / 10) % 3 === 0 && Math.floor(i / 10) !== 0){
num.push("짝!");
} else{
num.push(i);
}
}
return num;
}
// 실행 혹은 제출을 위한 코드입니다. 지우거나 수정하지 말아주세요.
module.exports = solution;
'Algorithm & Data structure > 알고리즘 문제 풀이' 카테고리의 다른 글
[Python][프로그래머스 lv.0] 120809. 배열 두 배 만들기 : for문, 리스트 컴프리헨션 (0) | 2023.10.03 |
---|---|
[JavaScript][프로그래머스 lv.0] 120809. 배열 두 배 만들기 : map() (0) | 2023.08.11 |
[JavaScript] 엘리스 트랙 - 소수의 합 (0) | 2023.08.10 |
[JavaScript] 엘리스 트랙 - 집에 가는 길 : 변수 선언 (0) | 2023.08.09 |
[JavaScript] 엘리스 트랙 - 함수 만들고 호출하기 (0) | 2023.08.09 |
Comments