문제 설명 : 저주의 숫자 3
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 ≤ 100
입출력 예
n | result |
15 | 25 |
40 | 76 |
문제 풀이
인덱스는 0부터시작하니까 n-1만큼의 3의 배수가 아니고 숫자 3이 들어가지도 않는 수 배열을 만들어준 다음
배열의 마지막 인수를 빼주었다.
function solution(n) {
let arr = []
let i = 1
while(arr.length < n) {
if(i % 3 !== 0) {
if(!(i.toString().includes('3'))) {
arr.push(i)
}
}
i++
}
return arr.pop()
}
문제 설명 : 외계행성의 나이
PROGRAMMERS행성에서는 나이를 알파벳으로 말하고 있다.
a는 0, b는 1, c는 2,..., j는 9입니다.
예를 들어 23살은 cd, 51살은 fb로 표현합니다. 나이 age가 매개변수로 주어질 때,
PROGRAMMERS 식 나이를 return 하도록 하는 solution 함수???
제한 사항
- age는 자연수
- age ≤ 1,000
- PROGRAMMERS 행성은 알파벳 소문자만 사용합니다.
입출력 예
age | result |
23 | "cd" |
51 | "fb" |
100 | "baa" |
문제 풀이
age를 문자열 str로 만든 후 arr에 a~j까지 차례로 넣어서 배열을 만들었다.
그 후에 for of문으로 age의 문자열에서 숫자를 뽑아와서 arr []에 넣고
answer에 추가함으로써 문제를 해결했다.
function solution(age){
var answer = ''
let str = age.toString()
let arr = ['a','b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j']
for(a of str){
answer += arr[a]
}
return answer
}
문제 설명 : 배열 회전시키기
정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어진다.
배열 numbers의 원소를 direction 방향으로 한 칸씩 회전시킨 배열을 return 하는 solution 함수???
제한 사항
- 3 ≤ numbers의 길이 ≤ 20
- direction은 "left"와 "right" 둘 중 하나입니다.
입출력 예
numbers | direction | result |
[1, 2, 3] | "right" | [3, 1, 2] |
[4, 455, 6, 4, -1, 45, 6] | "left" | [455, 6, 4, -1, 45, 6, 4] |
문제 풀이
복잡하게 생각하다가 갑자기 간단하게 풀었다.
right면 뒤에 원소를 빼서(pop) 맨 앞에 넣어주고(unshift)
left면 앞에 원소를 빼서(shift) 맨 뒤에 넣어줬다(push)
function solution(numbers, direction) {
if(direction === "right") {
numbers.unshift(numbers.pop())
}else {
numbers.push(numbers.shift())
}
return numbers
}
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
'Programmers' 카테고리의 다른 글
Programmers 문제 풀이 35 (0) | 2023.08.06 |
---|---|
Programmers 문제 풀이 34 (0) | 2023.08.02 |
Programmers 문제 풀이 32 (0) | 2023.07.28 |
Programmers 문제 풀이 31 (0) | 2023.07.27 |
Programmers 문제 풀이 30 (0) | 2023.06.28 |