⛵ 항해99/TIL · WIL ✏️

[TIL] 2023.08.18 - 프로그래머스 / forEach() / parseInt() / split()

hhhhy 2023. 8. 18. 21:07

 [페어 프로그래밍] 프로그래머스 

1. 평균 구하기

https://school.programmers.co.kr/learn/courses/30/lessons/12944

 

  • 나의 풀이
function solution(arr) {
    let newarr = 0;

    // 배열의 각 값을 하나씩 꺼내서 더하니까 for문 사용
    // arr의 마지막까지 꺼내야 하니까 arr.length
    for (let i = 0; i < arr.length; i++) {
        newarr += arr[i];  // newarr 변수에 돌면서 더해주기
    }

    // 총합이 담긴 newarr을 arr.length로 나줘주면 평균값임
    return newarr / arr.length;
}

console.log(solution([1, 2, 3, 4]))

 

  • 알게 된 것
📍 forEach() 매서드
- 주어진 함수를 배열 요소 각각에 대해 실행(=각 요소를 돈다)
- for문보다 속도가 빠름

# forEach 사용한 코드
function solution(arr) {
    let sum = 0;
    arr.forEach((a) => {
        sum += a
    });
    return sum / arr.length}
console.log(solution([1, 2, 3, 4]))

# 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach

 

2. 자릿수 더하기

https://school.programmers.co.kr/learn/courses/30/lessons/12931

 

  • 나의 풀이
function solution(N) {

  let sum = 0;  // 합을 구하기 위해 각 요소를 더해줄 sum 세팅
  let srt = String(N)  // 자연수의 각 자리에 접근하기 위해 문자열로 변경
  // console.log(srt)
  // console.log(typeof srt)

  for (let i = 0; i < srt.length; i++) {
    sum += Number(srt[i]);
    // 자연수의 각 자리를 더해주는데, 문자열로 바꿨던걸 숫자형으로 다시 바꿔줘야함
  }
  return sum
}

 

  • 알게 된 것
📍 parseInt() 함수
- 문자열을 숫자로 변환함

# parseInt() 사용한 코드
function solution(n) {
  let sum = 0;
  let srt = String(n)

  for (let i = 0; i < srt.length; i++) {
    sum += parseInt(srt[i])
  }
  return sum}
console.log(solution(123))

# 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/parseInt


📍 split() 매서드
- String 객체를 지정한 구분자를 이용하여 여러 개의 문자열로 나눔

# split() 사용한 코드
function solution(N) {
  let sum = 0;
  let srt = String(N).split('')  // 입력된 숫자 N을 문자열로 변환한 후, 각 자릿수별로 배열로 분리

  srt.forEach(a => {
    sum += parseInt(a);
  })
  return sum}
console.log(solution(123))

# 참고
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/split