2023년 1월 1일
08:00 AM
Buffering ...

최근 글 👑

JS 프로그래머스 #29 - A 강조하기, 꼬리 문자열, 홀짝에 따라 다른 값 반환하기

2023. 9. 11. 19:19ㆍ프로그래머스 JS 코딩테스트
반응형

88. A 강조하기

 

문제 설명

  • 문자열 myString이 주어집니다. myString에서 알파벳 "a"가 등장하면 전부 "A"로 변환하고, "A"가 아닌 모든 대문자 알파벳은 소문자 알파벳으로 변환하여 return 하는 solution 함수를 완성하세요.

제한사항

  • 1 ≤ myString의 길이 ≤ 20 
  • myString은 알파벳으로 이루어진 문자열입니다.

입출력 예시

 

  • 입출력 예 #1 
    • 0번, 5번, 9번, 15번 인덱스의 "a"는 소문자이므로 전부 대문자로 고쳐줍니다. 
    • 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다. 
    • 따라서 "AbstrAct AlgebrA"를 return 합니다. 
  • 입출력 예 #2 
    • 0번, 2번, 4번, 6번, 8번, 10번 인덱스의 문자들은 "A"가 아닌 대문자이므로 전부 소문자로 고쳐줍니다. 
    • 5번 인덱스의 "a"는 소문자이므로 대문자로 고쳐줍니다. 다른 문자들은 전부 "a"가 아닌 소문자이므로 바꾸지 않습니다. 
    • 따라서 "progrAmmers"를 return 합니다.

풀이

const solution = myString => {
    let result = []; 
    let slice = myString.split("");
    for(const check of myString){
        if(check === 'a'){
            result.push('A');
        } else if(check !== 'A'){
            result.push(check.toLowerCase());
        } else {
            result.push(check);
        }
    }
    return result.join("");
}

// 빈 배열 result 선언
// slice 변수에 myString을 문자로 나눈 배열 저장
// for of 반복문 사용, 소문자 a일 경우 대문자 A로 변경
// A가 아닐경우 소문자화
// A일 경우 result에 그대로 추가
// 배열을 join 메서드를 이용, 문자열로 변환 후 반환

 

89. 꼬리 문자열

 

문제 설명 

  • 문자열들이 담긴 리스트가 주어졌을 때, 모든 문자열들을 순서대로 합친 문자열을 꼬리 문자열이라고 합니다. 꼬리 문자열을 만들 때 특정 문자열을 포함한 문자열은 제외시키려고 합니다. 예를 들어 문자열 리스트 ["abc", "def", "ghi"]가 있고 문자열 "ef"를 포함한 문자열은 제외하고 꼬리 문자열을 만들면 "abcghi"가 됩니다. 

  • 문자열 리스트 str_list와 제외하려는 문자열 ex가 주어질 때, str_list에서 ex를 포함한 문자열을 제외하고 만든 꼬리 문자열을 return하도록 solution 함수를 완성해주세요.

제한사항 

  • 2 ≤ str_list의 길이 ≤ 10 
  • 1 ≤ str_list의 원소의 길이 ≤ 10 
  • 1 ≤ ex의 길이 ≤ 5

입출력 예시 

 

  • 리스트 안의 모든 문자열이 "c"를 포함하므로 빈 문자열을 return합니다.

풀이

const solution = (str_list, ex) => {
    let result = [];
    for(const str of str_list){
        if(!str.includes(ex)){
            result.push(str);
        }
    }
    return result.join("");
}

// 빈 배열 result 선언
// for of 반복문 이용, str 문자열에 ex가 포함되지 않으면 str 추가
// join 메서드 이용, 배열을 문자열로 변환 후 반환

 

90. 홀짝에 따라 다른 값 반환하기

 

문제 설명 

  • 양의 정수 n이 매개변수로 주어질 때, n이 홀수라면 n 이하의 홀수인 모든 양의 정수의 합을 return 하고 n이 짝수라면 n 이하의 짝수인 모든 양의 정수의 제곱의 합을 return 하는 solution 함수를 작성해 주세요.

제한사항 

  • 1 ≤ n ≤ 100

입출력 예시 

 

  • 예제 1번의 n은 7로 홀수입니다. 7 이하의 모든 양의 홀수는 1, 3, 5, 7이고 이들의 합인 1 + 3 + 5 + 7 = 16을 return 합니다.
  • 예제 2번의 n은 10으로 짝수입니다. 10 이하의 모든 양의 짝수는 2, 4, 6, 8, 10이고 이들의 제곱의 합인 22 + 42 + 62 + 82 + 102 = 4 + 16 + 36 + 64 + 100 = 220을 return 합니다.

풀이

const solution = n => {
    let result = 0;
    if(n % 2 === 1){
        for(let i = 1; i <= n; i+=2){
            result += i;
        }
    } else {
        for(let i = 0; i <= n; i+=2){
            result += i*i;
        }
    }
    return result;
}

// 변수 result 선언
// n이 홀수이면, n이하 모든 홀수의 합 반환
// n이 짝수이면, n이하 모든 짝수의 제곱의 합 반환

 

  • 정답률 높은 순부터 풀이
  • 매일 3문항 풀이
반응형