728x90
# 문제
3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다.
10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자
1 1 6 8
2 2 7 10
3 4 8 11
4 5 9 14
5 7 10 16
정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return하도록 solution 함수를 완성해주세요.
# 답안
// 1. 입력: 정수 n
// 2. 출력: 3x 마을에서 사용하는 숫자
// 빈배열 만들고,
// 반복문 돌려서 빈배열에 1부터 넣을건데,
// i를 문자열로 바꿨을때 문자열 "3"이 안들어가는것 && i를 3으로 나눴을때 나머지 0이 아닌 것 (3의 배수 아닌것)
// 둘다 만족하면 빈배열에 push
// return 값은 n번째가 나와야하기때문에, [n-1]로 해줘야함
// 예시) arr = [1,2,4,5,7,8]
// n = 5 라면, 이 배열에서 5번째에 해당하는 7을 꺼내와야하니까 arr[4]라고 해야함
// 그럴려면 arr[5-1=4] 즉, arr[n-1] 이라고 써야함
function solution(n) {
let arr = [];
for(let i = 1; i < 1000; i++){
if((!i.toString().includes("3")) && (i % 3 != 0)){
arr.push(i);
}
}
return arr[n-1];
}
# 인사이트
// includes() 메서드는 배열이나 문자열에서 특정 요소나 부분 문자열이 포함되어 있는지를 확인할 때 사용된다.
// includes() 메서드는 배열에서만 사용할 수 있으며, 숫자에는 적용할 수 없다. 따라서 i.toString() 이런식으로 숫자를 문자열로 바꿔줘야한다.
728x90
'Coding Test > Programmers' 카테고리의 다른 글
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 84 - 특이한 정렬) (0) | 2024.04.24 |
---|---|
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 83 - 문자열 밀기) (0) | 2024.04.24 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 81 - 치킨 쿠폰) (0) | 2024.04.23 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 80 - 로그인 성공?) (0) | 2024.04.23 |
[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 79 - 캐릭터의 좌표) (0) | 2024.04.23 |