알고리즘 공부 - Day08

설하나·2022년 11월 8일
0

알고리즘

목록 보기
8/22
post-thumbnail

알고리즘은 계속 풀고 있었지만,, 계속 포스팅을 깜빡하고 안올리고 있었던,,,
오늘은 알고리즘 테스트를 대비하여 문제를 풀어보았다.

🖥 프로그래머스 🖥

1. 숨어있는 숫자의 덧셈 (1)

[문제 상황]

문자열 안에 숨어 있는 숫자들만 골라서 총 합을 구하는문제

[풀이 코드]

function solution(my_string) {
    const temp = my_string.split("")
    return temp.reduce((pre,cur)=>{
        if(Number(cur))return pre+Number(cur)
        else return pre+0
    },0)
}

const my_string = "aAb1B2cC34oOp"

console.log(solution(my_string))

[문제 해결 방향]

문자열을 split("")매서드를 통해서 배열로 만든 후, reduce()매서드를 이용해서 배열을 쭉 돌면서 만약 Number(배열요소)를 했을때, NaN이면 0을 더하고 NaN이 아니면 해당 값을 숫자로 변환해서 더한 후 누적값을 리턴.

JavaScript에서 false인 것들

  • undefined, null
  • NaN
  • 0 (숫자 리터럴) , -0
  • “” (빈 문자열)
  • false

0이 false로 간주되어도 어짜피 0은 더해주나 빼주나 기존값에 변화를 주지 않음으로 상관이 없다고 판단하였다.


2. 모음 지우기

[문제 상황]

문자열 안에 모음(영어 모음은 "a","e","i","o","u")을 제거한 문자열을 리턴하는 문제

[풀이 코드]

function solution(my_string) {
    var answer = my_string;
    const vowels=["a","e","i","o","u"]
    for(let i = 0;i<vowels.length;i++){
        const temp = answer.split(vowels[i])
        answer=temp.join("")
    }
    return answer;
}

const my_string = "hello"

console.log(solution(my_string))

[문제 해결 방향]

answer에 변수로 들어온 my_string을 할당한 후,
영어 모음이 모은 배열 "vowels"를 선언하고, 해당 배열을 돌면서 모음으로 split한후 다시 join을 해주면 해당 문자를 제외한 문자열이 생기고 이를 다시 answer에 할당.
최종 만들어진 answer을 리턴.

profile
Backend

0개의 댓글