개발일지

개발일지 8일차

index.ys 2023. 3. 15. 00:04

프로그래머스 알고리즘 테스트

문자열 뒤집기

soution.js

function solution(my_string) {
    var answer = '';
    return answer;
}

- my_string의 문자를 배열로 형변환 한 뒤 배열을 거꾸로 뒤집고 다시 문자열로 출력한다.

나의 풀이

function solution(my_string) {
    const arr = [...my_string];
    let newArr= []
    for(let i = arr.length-1; i >= 0; i--){
            newArr.push(arr[i])
    } 
    return newArr.join("");
}

다른 풀이1

function solution(my_string) {
    let arr = my_string.split('').reverse()
    return arr.join('') ;
}

다른 풀이2

function solution(my_string) {
    var answer = [...my_string].reverse().join("");
    return answer;
}

특정 문자 제거하기

solution.js

function solution(my_string, letter) {
    var answer = '';
    return answer;
}

my_string을 배열로 변환한뒤,  filter() 메소드를 이용하여 my_string 배열에 포함되지 안흔 문자를 걸러낸다.

나의 풀이

function solution(my_string, letter) {
    let arr = my_string.split('')
    const result = arr.filter((a) => a !== letter);
   
    return result.join('');
}

다른 풀이1

function solution(my_string, letter) {
    let arr = my_string.split('').filter(a => a  !== letter).join('');
    return  arr;
}

다른 풀이2

function solution(my_string, letter) {
    return my_string.replaceAll(letter, " ");
}

문자 반복 출력하기

solution.js

function solution(my_string , n) {
    var answer = '';
    return answer;
}

나의 풀이

function solution(my_string, n) {
    let solution = [...my_string].map((e)=> e.repeat(n)).join('')
    return solution  
}

*이해하기 조금 어려운 문제였다

편지

solution.js

function solution(message) {
    var answer = '';
    return answer;
}

나의 풀이

function solution(message) {
    let msg = message.split('')
    let msgleng = msg.length*2
    return msgleng ;
}

다른 풀이1

function solution(message) {
    var answer = [...message].length * 2;
    return answer;
}

모음 제거

solution.js

function solution(my_string) {
    var answer = '';
    return answer;
}

나의 풀이

function solution(my_string) {
    let mo = ['a', 'e', 'i', 'o', 'u'] 
    let arr = my_string.split('')
    return  arr2.join('');
}

다른 풀이1

function solution(my_string) {
    return my_string.replace(/[aeiou]/g, '');
}

다른 풀이2

function solution(my_string) {
    return Array.from(my_string).filter(t => !['a', 'e', 'i', 'o', 'u'].includes(t)).join('');
}

문자열 안에 문자열

solution.js

function solution(my_string) {
    var answer = '';
    return answer;
}

나의 풀이

function solution(str1 , str2) {
    if(str1.includes(str2)){
        return 1
    }else{
        return 2
    }
}

다른 풀이1

function solution(str1, str2) {
    return str1.includes(str2) ? 1 : 2;
}

어떤 값을 구해야 하는지는 알고 있으나, 구현력이 떨어져서 문제를 구현하는게 조금 어렵다. 어디서 어떤 메소드를 사용해야 하는지 아는 메소드가 아직 많이 없어서 메소드의 종류를 알고 가는것도 필요한 것 같다. 아직까지 반복문에 대한 이해가 조금 떨어지는것  같아서 반복문도 복습 해야겠다,

 

- 할 일: 제주코딩베이스캠프 프로그래머스 보기, 메소드 종류와 사용 외우고 이해하기, 반복문 이해하기.