영어 알파벳으로 이루어진 문자열 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)을 찍어보고 깨닫고 코드를 짤 수 있었다.
나는 검색해서 process.stdout.write()
를 사용했는데 repeat()
를 사용해도 같은 결과가 나온다.
문자열 합칠때 +
연산자를 사용하는데 +=
를 사용해도 같은 결과가 나오기 때문에 코드를 깔끔하게 합칠 수 있다.
예시)
var str = 'comback';
str += ' ';
str += 'home';
// 결과 : 'comback home'
프로그래머스를 사용하며 코드를 짜니 낯설던 readline 모듈이 조금 이해가 됐다. 그리고 내가 어떤 함수에 대해 어렴풋하게 기억하고 있다는 사실을 깨달음😂😂 데이터타입에 따라 기능을 하지 않는 함수가 있기때문에 자바스크립트 기본기를 계속 복습하면서 코드테스트를 해야겠다.