배열 내 숫자를 그냥 sort()하는 경우 아스키 코드 기준으로 정렬이 되어, 정상적으로 정렬되지 않습니다.
sort() 내 아래 함수를 매개변수로 넣어, 오름차순으로 정렬할 수 있습니다.
function compareNumbers(a, b) {
return a - b;
}
배열의 sort()와 관련하여 문서를 통해 자세히 알아보세요.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
splice()를 이용해 특정 인덱스의 원소를 제거할 수 있습니다. splice(4, 2)와 같이 작성하는 경우, 4번째 부터 2개의 원소를 제거한다는 의미입니다.
배열.join()로 배열의 원소를 이어 붙여 문자열로 만들 수 있습니다. 기본적으로는 콤마를 기준으로 이어 붙이지만, 매개변수에 ' '을 넣으면 공백을 기준으로 이어 붙입니다.
문자열에서 특정 문자의 개수를 세기 위해 match와 정규 표현식을 이용합니다. 문자열.match(/p/g)을 통해 p 문자 리스트를 얻을 수 있습니다. 해당 리스트의 길이가 p 문자의 개수입니다.
https://developer.mozilla.org/ko/docs/Web/JavaScript/Guide/Regular_Expressions
// 영어 단어가 들어있는 리스트입니다.
var words = ['i', 'have', 'a', 'pen', 'i', 'have', 'pineapple', 'i', 'have', 'an', 'apple', 'pen'];
// 지시사항을 참고하여 코드를 작성하세요.
words.splice(4,2)
words.splice(5,3)
let lyrics=words.join(" ")
console.log(lyrics)
let c=lyrics.match(/p/g)
let count=c.length
console.log(count)
문자열 내 특정 문자가 포함되는지를 확인하기 위해서는 문자열.includes(확인할 문자)를 사용하면 됩니다.
// "촉촉한 초코칩"이 몇 번 나오는지 확인해봅시다.
const readline = require("readline");
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout,
});
const str = "촉촉한 초코칩";
const regex = /촉촉한 초코칩/g;
var l;
rl.on("line", (line) => {
// 한 줄씩 입력받은 후 실행할 코드
l=line
// 입력된 값은 line에 저장된다.
rl.close(); // close가 없으면 입력을 무한히 받는다.
});
rl.on('close', () => {
// 입력이 끝난 후 실행할 코드
if(l.includes(str)){
// console.log(l)
let result = l.match(regex);
// console.log(result)
console.log(result.length);
}
else{
console.log(0)
}
})