문자열 출력
문제 설명
문자열 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);
});
회고
realine 은 Node.js에서 표준 입력(키보드 입력)을 받을 때 사용하는 기본 도구(모듈)임.
rl.on('line', callback) 은 line 이라는 변수로 입력값을 받는 것, 그걸 console.log로 출력
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}`);});
개념 정리
split(' ') 은 문자열을 공백 기준으로 나눠 배열로 만들어주는 역할을 함.
Number()은 문자열을 숫자로 바꿔줌.
${} 템플릿 문자열 `` 안에서 사용 가능하고 안에 넣은 변수의 값을 출력 가능함.
a + b 출력하기
문제 설명
문자열 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));
});
개념 정리
repeat() 은 문자열을 반복해서 출력이 가능함. 단, repeat은 문자열에만 사용이 가능하다.
for 문을 사용하는 것도 가능하지만 2개의 방식이 미묘한 차이점이 있음.
repeat() | for문 |
내장 함수라서 속도가 빠름 | 조건 추가, 중간 로직 삽입이 가능함 |
간단한 반복이라면 가장 간결하고 가독성이 좋음 | 인덱스 별로 다른 처리를 하는 등 상황에 따라 더 유연함 |
대소문자 바꿔서 출력하기
문제 설명
영어 알파벳으로 이루어진 문자열 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 = [];
rl.on('line', function (line) {
input = [line];
}).on('close',function(){
str = input[0];
let answer = "";
for(let char of str){
if(char == char.toUpperCase()){
answer += char.toLowerCase();
} else{
answer += char.toUpperCase();
}
}
console.log(answer);
});
개념 정리
== 뒤에 toUpperCase 혹은 toLowerCase를 사용하면 대소문자인지 판별하는 코드가 되고
+= 뒤에 붙여 사용하면 해당 문자를 대소문자 변환 하여 추가하는 코드가 됨.
const result = str
.split('')
.map(char => {
return char === char.toUpperCase()
? char.toLowerCase()
: char.toUpperCase();
})
.join('');
이런 식으로 map과 ? 삼항 연산자를 이용하여 변환하고 join으로 합치는 방식도 가능함.
특수문자 출력하기
문제 설명
다음과 같이 출력하도록 코드를 작성해 주세요.
출력 예시
!@#$%^&*(\'"<>?:;
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('close', function () {
console.log("!@#$%^&*(\\'\"<>?:;");
});
개념 정리
다른 특수문자들은 평범하게 문자열 방식으로 출력 가능하고
', " 같은 문자열 안의 따옴표는 \ 를 붙여 처리해야 출력이 가능함.
'코딩 테스트 준비 > JavaScript' 카테고리의 다른 글
[Programmers] JavaScript - Day3 (0) | 2025.04.17 |
---|---|
[Programmers] JavaScript - Day2 (0) | 2025.04.17 |