문제 설명
문자열 str이 주어질 때, str을 출력하는 코드를 작성해 보세요.
제한사항
[입력 #1]
HelloWorld!
[출력 #1]
HelloWorld!
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
rl.on("line", (str) => {
console.log(str);
rl.close();
});
문제 설명
정수 a와 b가 주어집니다. 각 수를 입력받아 입출력 예와 같은 형식으로 출력하는 코드를 작성해 보세요.
제한사항
[입력 #1]
4 5
[출력 #1]
a = 4
b = 5
입력값이 "4 5"
그렇기 때문에 4와 5를 먼저 분리하는 작업을 해야한다.
그래서 빈 배열 arr를 만들어서 "4 5"를 띄어쓰기로 분리해준다.
그럼 arr = [ '4', '5' ]가 된다.
출력값
a = 4
b = 5
가 되기 위해선 문자인 '4','5'를 숫자로 변환해주어야 한다.
그렇기 때문에 Number를 사용하여 숫자로 변환하고``를 활용하여 그대로 적용해준다.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let arr = [];
rl.on("line", (line) => {
arr = line.split(' ');
rl.close();
}).on('close', () => {
console.log(`a = ${Number(arr[0])}\nb = ${Number(arr[1])}`);
process.exit();
});
문제 설명
문자열 str과 정수 n이 주어집니다.
str이 n번 반복된 문자열을 만들어 출력하는 코드를 작성해 보세요.
제한사항
입력 #1
string 5
출력 #1
stringstringstringstringstring
2번을 풀이했을 때와 마찬가지로 처음에 arr이라는 빈 배열에 split으로 쪼개서 string과 5를 분리한다.
처음에는 배열 초기화를 하고 싶었지만 방법을 찾지 못했다.
최대한 내 머릿속에서 나온 콘솔 값은
[string, 5, Nan, Nan, Nan, Nan, Nan]이었다.
방법을 찾아보다가 reapeat이라는 메서드가 있는 걸 알아내서 문제를 풀었고 결론은 성공했다.
결과값을 보여주기 위해 하나의 빈 배열을 더 만들었는데 그렇게 하고 싶지 않았지만 더이상의 방법을 모르겠어서 아래와 같이 했다.
하지만 조금 아쉬운 부분이 있어서 다른 풀이를 참고한 부분도 같이 적어보겠다.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let arr = [];
let arr1=[];
rl.on('line', (str) => {
arr = str.split(' ');
rl. close();
}).on('close', () => {
arr1= arr[0].repeat(Number(arr[1]));
console.log(arr1);
process.exit();
});
// 내가 원하는 결과
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));
});
문제 설명
영어 알파벳으로 이루어진 문자열 str이 주어집니다. 각 알파벳을 대문자는 소문자로 소문자는 대문자로 변환해서 출력하는 코드를 작성해 보세요.
제한사항
입력 #1
aBcDeFg
출력 #1
AbCdEfG
for 반복문을 이용해 문제를 풀었다.
반복문과 메서드를 사용해서 문제를 풀어야 하는것 까진 인지했지만 메서드가 기억이 나지 않아 mdn을 참고했고, 누적하는 방식을 이용하여 빈 문자열을 하나씩 채워나갔다.
마지막에 console.log 부분에 return을 넣었다가 결과가 안나왔다.
console.log와 return의 차이
console.log()는 이전에 정의된 모든 종류의 변수를 인쇄하거나 사용자에게 표시해야 하는 메시지를 인쇄하는 데 사용되는 JavaScript의 함수
return 명령문은 함수 실행을 종료하고, 주어진 값을 함수 호출 지점으로 반환
결괏값을 저장(호출 지점으로 반환)을 하지만 출력(호출)을 하진 않는다.
return을 해도 답이 나오지 않았던 이유는 return은 출력을 하지 않기 때문이다.....
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
let answer = '';
rl.on('line', (str) => {
for(let i=0; i < str.length; i++) {
if(str[i] === str[i].toUpperCase()) {
answer += str[i].toLowerCase();
}
else {
answer += str[i].toUpperCase();
}
}
console.log(answer);
})
문제 설명
다음과 같이 출력하도록 코드를 작성해 주세요.
출력 예시
!@#$%^&*(\'"<>?:;
`` 방법 외에는 생각이 나지 않아 찾아보았다.
역슬래시 부분을 \\로 변경하여 출력할 수 있었다.
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('close', function () {
console.log(`!@#$%^&*(\\'"<>?:;`);
});