Programmers

Programmers 문제 풀이 33

백단비 2023. 7. 31. 20:08

문제 설명 : 저주의 숫자 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
}

 

https://programmers.co.kr 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

320x100

'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