2/21 TIL

정민세·2023년 2월 21일
0

오늘 푼 프로그래머스 코딩테스트 문제

약수의 합 구하기 Lv.1

function solution(n) {
    let divisor = 0
    for(let i = 1; i <= n; i++){
        if(n % i === 0){
            divisor += i
        }
    }
    return divisor
}
  • 약수를 구하는 방법은 for문 안 if 조건문을 통하여 i로 n을 나눴을 때 나머지 값이 0일 경우 divisor 변수 값에 해당 i를 더하는 방법으로 문제를 풀었다.

서울에서 김서방 찾기 Lv.1

function solution(seoul) {
    const findKim = seoul.indexOf('Kim')
    return `김서방은 ${findKim}에 있다`
}
  • 파라미터는 ['Jeong', 'Lim', 'Kim'] 식으로 배열로 들어오며 'Kim' 이라는 문자가 몇번째에 위치 해 있는지 인덱스를 찾은 것이므로 indexOf 메소드를 활용하여 문제를 풀었다.

🖐️ indexOf

indexOf() 메서드는 배열에서 지정된 요소를 찾을 수 있는 첫 번째 인덱스를 반환하고 존재하지 않으면 -1을 반환합니다.
arr.indexOf(찾을 값[, 시작할 색인])

평균 구하기 Lv.1

function solution(arr) {
    return arr.reduce((acc, cur) => acc + cur / arr.length, 0)
}
  • 파라미터는 [1, 2, 3, 4] 식의 배열로 들어오며 배열 안에 있는 값들을 모두 더해 평균을 내는 문제이다. reduce를 활용해 문제를 풀었다.

🖐️ reduce

reduce() 메서드는 배열의 각 요소에 대해 주어진 리듀서 (reducer) 함수를 실행하고, 하나의 결과값을 반환합니다.
arr.reduce((acc, cur), 시작할 값(default = acc))

핸드폰 번호 가리기 Lv.1

function solution(phone_number) {
  return "*".repeat(phone_number.length - 4) + phone_number.slice(-4);
}
  • 파라미터는 '01012345678` 식의 스트링 값이 들어오며 맨 뒤 4자리를 제외한 나머지 숫자들을 *로 처리하는 문제이다. repeat와 slice를 활용하여 값들을 자른뒤 이어 붙이는 방법으로 문제를 풀었다.

🖐️ repeat

repeat() 메서드는 문자열을 주어진 횟수만큼 반복해 붙인 새로운 문자열을 반환합니다.

'치환할 값'.repeat(문자열을 반복할 횟수. 0과 양의 무한대 사이의 정수([0, +)).)

최솟값 최댓값 구하기 Lv.2

function solution(s) {
  const numList = s.split(' ')
  numList.map((el) => Number(el))
  const maxNum = Math.max(...numList)
  const minNum = Math.min(...numList)
  return `${minNum} ${maxNum}`
}
  • 파라미터는 '1 2 3 4' 식의 스트링 값이 들어오며 최솟값과 최댓값을 반환하는 문제이다. split을 활용하여 파라미터를 배열 복사 해준 뒤 Number 메소드를 활용하여 Number 타입으로 바꿔주었다. 그러고 난 후 최솟값을 구해주는 Math.min 메소드와 최댓값을 구해주는 Math.max를 활용하여 numList를 spread로 뿌려준 후 값을 구하도록 하였다. 이어서 ``(템플릿)을 활용하여 minNum과 maxNum을 차례대로 반환하여 문제를 풀었다.

🖐️ split

split() 메서드는 String 객체를 지정한 구분자를 이용하여 여러 개의 문자열을 나누어 배열로 반환합니다.

str.split(구분할 값)

🖐️ Math.max()

Math.max() 함수는 입력값으로 받은 0개 이상의 숫자 중 가장 큰 숫자를 반환합니다.

Math.max(입력값)

🖐️ Math.min()

Math.min() 함수는 입력값으로 받은 0개 이상의 숫자 중 가장 작은 숫자를 반환합니다.

Math.min(입력값)

📍 몰랐던 사실

  • Math.max()와 Math.min() 함수는 Number 입력값에만 적용되는 것이 아닌 String 입력값에도 적용이 된다!! (JS 한정)
profile
하잇

0개의 댓글