728x90
📝 Day 1. 출력
새로 알게 된 내용이나 리펙토링한 내용 정리하기!
🚩 문자열 출력하기
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);
});
🚩 a와 b 출력하기
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 () {
console.log(`a = ${input[0]}`);
console.log(`b = ${input[1]}`);
});
🚩 문자열 반복해서 출력하기
Repeat()
문자열을 반복할 횟수를 파라미터로 넘긴다.
str.repeat(count);
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));
});
🚩 대소문자 바꿔서 출력하기
toUpperCase()
문자열을 대문자로 변환해 반환한다.
sentence.toUpperCase();
toLowerCase()
문자열을 소문자로 변환해 반환한다.
sentence.toLowerCase();
match()
정규식과 매치되는 부분을 검색한다.
str.match(regexp);
RegExp
문자열에서 특정 문자 조합을 찾기 위한 패턴이다. / 기호 사이에 원하는 정규 표현식을 작성하면 된다.
/ab + c/
For...of 반복문
Symbol.iterator 속성을 가지는 컬렉션에 사용해 값을 반복적으로 꺼내 사용할 수 있다.
for (var value of iterable) {
console.log(value);
}
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];
result = "";
for (let c of str){
result += c.match(/[A-Z]/) !== null ? c.toLowerCase() : c.toUpperCase();
}
console.log(result);
});
추가 설명
이 코드에서는 input으로 주어지는 str을 한 글자씩 반복해서 보면서 대문자인지 확인하고 대문자라면 lowercase를, 소문자라면 uppercase를 진행한다. 글자가 대문자인지 확인하기 위해서는 정규 표현식을 사용했다. 위에서 사용한 패턴은 괄호안에 문자인 영어 알파벳을 A-Z 즉 대문자 중 하나라도 포함하는지 찾는다.
🚩 특수문자 출력하기
const readline = require('readline');
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
});
rl.on('close', function () {
console.log(`!@#$%^&*(\\'"<>?:;`);
});
추가 설명
큰 따옴표(")와 작은 따옴표(')를 포함한 특수 문자를 쉽게 표현하기 위해 문자열을 백틱(`)으로 감싼다. 그리고 사이에 백슬래쉬는 출력하기 위해 백슬래쉬를 두 번 작성해 주었다.
🤔 느낀 점
아직 모르고 헷갈리는 개념이 많다는 것을 느꼈다... 정규 표현식은 왜 공부를 해도 매번 까먹는지... 매일 매일 새롭게 배우는 내용을 잘 정리해 보아야겠다.
📚 참고
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/repeat
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/toUpperCase
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/toLowerCase
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/match
- https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_expressions
- https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-%EC%A0%95%EA%B7%9C%EC%8B%9D-RegExp-%EB%88%84%EA%B5%AC%EB%82%98-%EC%9D%B4%ED%95%B4%ED%95%98%EA%B8%B0-%EC%89%BD%EA%B2%8C-%EC%A0%95%EB%A6%AC
- https://jsdev.kr/t/for-in-vs-for-of/2938
반응형
'코딩 테스트' 카테고리의 다른 글
[javascript] 프로그래머스 코딩 기초 트레이닝 Day3 정리 (0) | 2024.03.10 |
---|---|
[javascript] 프로그래머스 코딩 기초 트레이닝 Day2 정리 (0) | 2024.03.10 |