본문 바로가기
JAVASCRIPT

[프로그래머스] 코딩 테스트 Day1. 출력

by 프론트엔드마스터일걸 2026. 3. 13.
728x90
반응형

프로그래머스 기준으로 정리했습니다.

코딩테스트 → 기초문제 입니다.

 

1️⃣ 문자열 출력하기

문제설명

문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.


제한사항

  • 1 ≤ str의 길이 ≤ 1,000,000
  • str에는 공백이 없으며, 첫째 줄에 한 줄로만 주어집니다.

입출력 예

입력 #1

HelloWorld!

 

출력 #1

HelloWorld!

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];
    console.log(str);
});

 

문자열 str 바로 출력해주면 된다.

 

 

2️⃣ a와 b 출력하기

문제설명

정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.


제한사항

  • -100,000 ≤ a,b ≤ 100,000

입출력 예

입력 #1

4 5

 

출력 #1

a = 4
b = 5

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

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    const a = Number(input[0]);
    const b = Number(input[1]);
    console.log("a = " + a);
    console.log("b = " + b);
});

 

백틱을 활용하여 출력할 수도 있다.

console.log(`a = ${a}`);
console.log(`b = ${b}`);

 

나는 문제풀이 때 순간 백틱이 안떠올랐음.

이럴땐 순정?이 짱이다.

지금은 실행속도 차이가 미미하지만, 변수명이 많아질수록 가독성을 위해 백틱 사용을 추천한다.

속도보단 실수를 줄이는것이 더 중요하다고 생각함

 

 

3️⃣ 문자열 반복해서 출력하기

문제설명

문자열 str과 정수 n이 주어집니다.

str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.


제한사항

  • 1 ≤ str의 길이 ≤ 10
  • 1 ≤ n ≤ 5

입출력 예

입력 #1

string 5

 

출력 #1

stringstringstringstringstring

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

let input = [];

rl.on('line', function (line) {
    input = line.split(' ');
}).on('close', function () {
    str = input[0];
    n = Number(input[1]);
    
    console.log(str.repeat(n));
});

 

for문 없이 문자열을 반복하고 싶을 때 repeat() 메소드를 사용하면 된다.

만약 for문을 이용하여 답을 내고 싶다면

result = "";    
for(i=0; i < n; i++){
    result += str;
}

 

 

4️⃣ 대소문자 바꿔서 출력하기

문제설명

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


제한사항

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

입출력 예

입력 #1

aBcDeFg

 

출력#1

AbCdEfG

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

let input = [];
let result = '';

rl.on('line', function (line) {
    input = [line];
}).on('close',function(){
    str = input[0];
    
    for(let c of str){
        if(c===c.toUpperCase()){
            result += c.toLowerCase();
        }else {
            result += c.toUpperCase();
        }
    }    
    console.log(result);
});

 

toUpperCase() 대문자로 바꾸는 메소드

toLowerCase() 소문자로 바꾸는 메소드

 

 

5️⃣ 특수문자 출력하기

문제설명

다음과 같이 출력하도록 코드를 작성해주세요.


출력 예

!@#$%^&*(\'"<>?:;

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

rl.on('close', function () {
    console.log(`!@#$%^&*(\\'"<>?:;`);
});

 

처음엔 백틱을 이용해서 풀었는데 정답이 안나왔다. 왜냐... 출력값 !@#$%^&*(\'"<>?:;  그대로 적어서!!

이유는 \ 이것 때문에 그럼.

이스케이프(Escape)란 특수한 의미를 가지고 있어서 일반 문자로 취급할 수 있도록 바꿔줘야된다.

\n (줄바꿈), \t (탭) 이런것 처럼 \\ 라고 써줘야 문자라고 인식한다.

!@#$%^&*(\\'"<>?:; 라고 써줘야 정답이 된다.

 

728x90
반응형