이노캠 4주차(수)-코드테스트 풀기

rimhye·2023년 6월 15일
0

이노캠

목록 보기
11/39

📌 대소문자 바꿔서 출력하기

🖥️문제설명

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.
(제한사항:1 ≤ str의 길이 ≤ 20
str은 알파벳으로 이루어진 문자열입니다.)

✍️내가 푼 풀이

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

let input = [];

rl.on('line', function (line) {
    input = [line];
}).on('close',function(){
    str = input[0]; //여기서 input을 문자열로 변환
    let b=str.split(""); //알파벳 떼주고
    for (i=0;i<str.length;i++){
    if (b[i]===str[i].toUpperCase()){ //대문자인지 확인 
        process.stdout.write(b[i].toLowerCase()); //소문자 변환&개행x   
    }else{ 
        process.stdout.write(b[i].toUpperCase()); //대문자 변환&개행x    
    }
}
});

🔨겪은 시행착오

input은 object인데 바로 split하려니 오류가 계속났었는데 console.log(typeof input)을 찍어보고 깨닫고 코드를 짤 수 있었다.

📌 문제풀다 알게 된 것

1.문자열 반복해서 출력하기에서 개행(줄바꿈)없이 출력하려면?

나는 검색해서 process.stdout.write()를 사용했는데 repeat()를 사용해도 같은 결과가 나온다.

2.문자열 합치기

문자열 합칠때 +연산자를 사용하는데 +=를 사용해도 같은 결과가 나오기 때문에 코드를 깔끔하게 합칠 수 있다.

예시)
var str = 'comback';
str += ' ';
str += 'home';
// 결과 : 'comback home'

참고사이트[JavaScript] 문자열 합치기 (+, concat, join)

✍️느낀점

프로그래머스를 사용하며 코드를 짜니 낯설던 readline 모듈이 조금 이해가 됐다. 그리고 내가 어떤 함수에 대해 어렴풋하게 기억하고 있다는 사실을 깨달음😂😂 데이터타입에 따라 기능을 하지 않는 함수가 있기때문에 자바스크립트 기본기를 계속 복습하면서 코드테스트를 해야겠다.

profile
개발자가 되고 싶어요

0개의 댓글