개발로그필름

[프로그래머스] 대소문자 바꿔서 출력하기 javascript 본문

coding test/프로그래머스

[프로그래머스] 대소문자 바꿔서 출력하기 javascript

yuullog 2023. 4. 20. 15:20
728x90
반응형
SMALL

https://school.programmers.co.kr/learn/courses/30/lessons/181949

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제 설명

영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.

 

제한사항

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

 

입출력 예

 

 

solution.js

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];
    answer = "";
    for(let x of str) {
        if (x === x.toUpperCase()) {
            answer += x.toLowerCase();
        } else answer += x.toUpperCase();
    }
    console.log(answer)
});

answer 이라는 임시 문자열 변수를 만들어놓고

문자 하나하나 비교하면서 대문자면 소문자로 바꿔 answer에 저장하고

소문자면 대문자로 바꿔 answer에 저장해서 마지막으로 대소문자 바뀐 문자열 출력

 

 

다른 사람 풀이 1

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

let input = [];
let a = '';

rl.on('line', function (line) {
    input = [line];
}).on('close',function(){
    str = input[0];
    [...str].forEach(c => {
        if (c == c.toUpperCase()) {
          a+=c.toLowerCase();
        } else if (c == c.toLowerCase()){
          a+=c.toUpperCase();
        }
    })
    console.log(a)
});

이분도 나랑 전체적인 알고리즘은 비슷한데 반복문을 forEach를 쓰셨다

 

반응형
LIST
Comments