Winnie The Pooh Bear 코딩테스트 입문_문자열, 반복문, 출력, 배열, 조건문

코딩테스트

코딩테스트 입문_문자열, 반복문, 출력, 배열, 조건문

코딩은 처음이라 2023. 5. 22. 22:54

“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”

- Frederick Philips Brooks
Mythical Man-Month 저자
728x90
반응형

코딩테스트 입문_문자열, 반복문, 출력, 배열, 조건문

 

 

 

1. 문자열 뒤집기

문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

제한 사항

문자열 my_string이 매개변수로 주어집니다. my_string을 거꾸로 뒤집은 문자열을 return하도록 solution 함수를 완성해주세요.

입출력 예

my_string return
"jaron" "noraj"
"bread" "daerb"

입출력 예 설명

  • my_string이 "jaron"이므로 거꾸로 뒤집은 "noraj"를 return합니다.
  • my_string이 "bread"이므로 거꾸로 뒤집은 "daerb"를 return합니다.

풀이

function solution(my_string) {
    var answer = '';
    
    for(var i=my_string.length -1; i>=0; i--){
        answer += my_string[i];
    }
    return answer;
}

my_stsring을 거꾸로 뒤집은 문자열을 answer 변수에 저장하고 반환합니다.

반복문을 사용해 문자열을 거꾸로 순회하면서 각 문자를 answer에 추가합니다.

마지막 문자부터 첫 번째 문자까지 거꾸로 순회하기 위해 i변수를 my_string.length -1로 초기화 하고 i-- 를 사용해 감소시킵니다.

 

 

 

 

 

 

2. 직각삼각형 출력하기

문제설명

"*"의 높이와 너비를 1이라고 했을 때, "*"을 이용해 직각 이등변 삼각형을 그리려고합니다. 정수 n 이 주어지면 높이와 너비가 n 인 직각 이등변 삼각형을 출력하도록 코드를 작성해보세요.

제한사항

  • 1 ≤ n ≤ 10

입출력예

3

 

*
**
***

입출력예설명

  • n이 3이므로 첫째 줄에 * 1개, 둘째 줄에 * 2개, 셋째 줄에 * 3개를 출력합니다.

 

풀이

const readline = require('readline');
const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

rl.on('line', function (line) {
    const n = parseInt(line);
    for(let i =1; i<= n; i++){
        console.log('*'.repeat(i));
    }
rl.close();
});

n 값을 읽어와 1부터 n까지의 숫자에 해당하는 줄을 출력합니다.

'*'.repeat(i) 는 i번 반복된 '*'문자열을 생성합니다.

입력 스트림을 닫기 위해 rl.close()를 호출합니다.

 

 

 

3. 짝수 홀수 개수

문제 설명

정수가 담긴 리스트 num_list가 주어질 때, num_list의 원소 중 짝수와 홀수의 개수를 담은 배열을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 1 ≤ num_list의 길이 ≤ 100
  • 0 ≤ num_list의 원소 ≤ 1,000

입출력 예

num_list result
[1,2,3,4,5] [2,3]
[1,3,5,7] [0,4]

입출력 예 설명

  • [1, 2, 3, 4, 5]에는 짝수가 2, 4로 두 개, 홀수가 1, 3, 5로 세 개 있습니다.
  • [1, 3, 5, 7]에는 짝수가 없고 홀수가 네 개 있습니다.

풀이

function solution(num_list) {
    var evenCount = 0;
    var oddCount = 0;
    
    for(let i=0; i<num_list.length; i++){
        if(num_list[i] %2 ===0){
            evenCount++;
        }else {
            oddCount++;
        }
    }
    return [evenCount, oddCount];
}

num_list 의 각 원소를 확인하면서 짝수와 홀수의 개수를 카운트 합니다.

evenCount 와 oddCount 변수를 사용해 짝수와 홀수의 개수를 저장하고

반복문을 사용해 num_list 의 각 원소를 검사합니다.

현재 원소가 짝수라면 evenCont 를 증가시키고, 홀수라면 oddCount 를 증가시킵니다.

 

 

 

4. 문자 반복 출력하기

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.

제한사항

  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

입출력 예

my_string n result
"hello" 3 "hhheeellllllooo"

입출력 예 설명

  • "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.

풀이

function solution(my_string, n) {
    var answer = '';
    
    for(var i=0; i<my_string.length; i++){
        var char = my_string[i];
        answer += char.repeat(n);
    }
    return answer;
}

빈문자열인 answer 를 초기화하고, for문을 사용해 my_string에 있는 각 문자를 반복,

char 변수에 현재 순회 중인 문자를 저장하고, char.repeat(n) 을 사용해 char 를 n번 반복한 문자열을 생성.

answer 에 생성된 문자열을 추가

반응형