Programmers

Programmers 문제 풀이 29

백단비 2023. 6. 27. 18:05

문제 설명 :  369게임

369게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자는

숫자대신 3, 6, 9의 개수만큼 박수를 치는 게임이다.

머쓱이가 말해야 하는 숫자 order가 매개변수로 주어질 때,

머쓱이가 쳐야 할 박수 횟수를 return 하는 solution함수???

 

제한 사항

  • 1 ≤ order ≤ 1,000,000

 

입출력예

 

order result
3 1
29423 2

 

문제 풀이

 

order를 문자열로 바꿔서 for문을 돌며 3,6,9중 하나일 때는 count++해주었다.

function solution(order) {
    let count = 0
    let str = order.toString()
    for(let i =0; i <str.length; i++) {
        if(str[i] === "3" || str[i] === "6" || str[i] === "9") {
            count++
        }
    }
    return count
}

 

 

 


 

문제 설명 :  가까운 수 

정수 배열 array와 정수 n이 매개변수로 주어질 때,

array에 들어있는 정수 중 n과 가장 가까운 수를 return 하는 solution 함수????

 

제한 사항

  • 1 ≤ array의 길이 ≤ 100
  • 1 ≤ array의 원소 ≤ 100
  • 1 ≤ n ≤ 100
  • 가장 가까운 수가 여러 개일 경우 더 작은 수를 return한다.

 

입출력예

 

array n result
[3, 10, 28] 20 28
[10, 11, 12] 13 12

 

문제 풀이

 

array가 오름차순이라고 안 했으니까 가까운 수가 여러 개일 경우 더 작은 수를 구하려면

일단 array에 sort()를 해주고 map을 이용해서 원소마다 n만큼 빼서 Math.abs()로 절댓값으로 바꾼 배열을 만들고

그 배열에서 Math.min()으로 가장 작은 수를 찾고 그 수의 index를 indexOf()로 찾으면 

n과 가장 가까운 수 중에서 더 작은 수를 구할 수 있다.

function solution(array, n) {
    let arr = array.sort((a,b) => a-b).map((v) => Math.abs(v-n))
    let idx = arr.indexOf(Math.min(...arr))
    return array[idx]
}

 

 


 

 

문제 설명 :  중복된 문자 제거

문자열 my_string이 매개변수로 주어진다.

my_string에서 중복된 문자를 제거하고 하나의 문자만 남긴 문자열을 return 하는 함수???

 

제한 사항

  • 1 ≤ my_string ≤ 110
  • my_string은 대문자, 소문자, 공백으로 구성되어 있습니다.
  • 대문자와 소문자를 구분합니다.
  • 공백("")도 하나의 문자로 구분합니다.
  • 중복된 문자 중 가장 앞에 있는 문자를 남깁니다.

 

입출력예

 

my_string result
"people" "peol"
"We are the world" "We arthwold"

 

문제 풀이

 

new Set을 이용해서 중복 문자를 없애고 배열 안에 spread연산자를 사용해서 넣어준 후 join()으로 다시 문자열을 만들어줬다.

function solution(my_string) {
	return [...new Set(my_string)].join('')
}

 

 

 

https://programmers.co.kr 

 

프로그래머스

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

programmers.co.kr

 

320x100

'Programmers' 카테고리의 다른 글

Programmers 문제 풀이 31  (0) 2023.07.27
Programmers 문제 풀이 30  (0) 2023.06.28
Programmers 문제 풀이 28  (0) 2023.06.24
Programmers 문제 풀이 27  (0) 2023.06.23
Programmers 문제 풀이 26  (0) 2023.06.22