[01 내장 함수]
(1) 입출력
- 입력 : readline과 fs 두 가지 방법이 있지만 fs가 더 빠름, 프로그래머스는 입력 방식을 신경 쓸 필요 없긴 함
const fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().split('\n');
console.log(input);
- 출력
console.log()
(2) 문자열
1. 자르기
출처 : https://codechacha.com/ko/javascript-how-to-substring/
- split : 구분자로 문자열 자르기
let str = 'Hello, World, Javascript';
console.log(str.split(',')); // [ 'Hello', ' World', ' Javascript' ]
console.log(str.split(',', 0)); // []
console.log(str.split(',', 2)); // [ 'Hello', ' World' ]
💡 split으로 특정 문자 개수 구하기 : 문자열을 배열로 변환 후 배열의 크기에서 -1
ex) 쉼표의 개수 구하기
const str = 'HTML,CSS,JavaScript'; const count = str.split(',').length - 1; // ',' 개수 : 2
출처 : https://gent.tistory.com/467?category=360524
- substr : 특정 Index에서 원하는 길이만큼 잘라서 문자열로 리턴
let str = 'HelloWorldJavascript';
let a = str.substr(5);
let b = str.substr(0, 5);
let c = str.substr(0, 10);
console.log(a); // WorldJavascript
console.log(b); // Hello
console.log(c); // HelloWorld
- substring : 시작 Index에서 끝 Index 전까지 문자열을 잘라서 리턴
let str = 'Hello World Javascript';
let a = str.substring(6);
let b = str.substring(6, 8);
let c = str.substring(6, 0);
console.log(a); // World Javascript
console.log(b); // Wo
console.log(c); // Hello
- slice : substring과 비슷하지만 인자로 음수가 전달되었을 때, substring()은 빈 문자열을 리턴하는 반면 slice()는 음수 index를 적용하여 문자열을 자름
let str = 'Hello World Javascript';
let a = str.substring(0, -6);
let b = str.slice(0, -6);
console.log(a); // (빈 문자열)
console.log(b); // Hello World Java
2. 합치기
출처 : https://gent.tistory.com/471
- + : 문자열 연결, concat보다 좀 더 빠름
const str = 'Java' + 'Script';
console.log(str) // JavaScript
- join : 배열의 원소(문자열) 합치기
const langs = ['HTML', 'CSS', 'JavaScript'];
const res = langs.join();
const res2 = langs.join('');
const res3 = langs.join('/');
console.log(res) // HTML,CSS,JavaScript
console.log(res2) // HTMLCSSJavaScript
console.log(res3) // HTML/CSS/JavaScript
3. 위치
출처 : https://gent.tistory.com/462?category=360524
- indexOf : 찾을 문자열이 없을 경우 -1 반환
const str = 'HTML,CSS,JavaScript';
const pos1 = str.indexOf('JavaScript');
console.log(pos1) // 9
const pos2 = str.indexOf('Kotlin');
console.log(pos2) // -1
- search : 시작 위치는 지정할 수 없음
/* 한글 찾기 */
const str = 'HTML,CSS,자바스크립트';
const pos = str.search(/[ㄱ-ㅎ|ㅏ-ㅣ|가-힣]/);
console.log(post) // 9
[02 라이브러리]
(1) Math
- 최댓값, 최솟값 : 아래 방식은 ES6/ES2015 부터 사용가능
출처 : https://jjeongil.tistory.com/949
const nums = [1, 2, 3]
Math.min(...nums) // 1
Math.max(...nums) // 3
- 올림, 내림, 반올림 : float 형태에서 int 형태로 형변환 된다는 것 기억
출처 : https://hianna.tistory.com/446
// 1.올림
const ceil_1 = Math.ceil(1); // 1
const ceil_2 = Math.ceil(1.222); // 2
const ceil_5 = Math.ceil(null); // 0
const ceil_6 = Math.ceil(0); // 0
const ceil_7 = Math.ceil(-1); // -1
const ceil_10 = Math.ceil(-1.777); // -1
// 2.내림
const floor_1 = Math.floor(1); // 1
const floor_3 = Math.floor(1.5); // 1
const floor_5 = Math.floor(null); // 0
const floor_6 = Math.floor(0); // 0
const floor_7 = Math.floor(-1); // -1
const floor_8 = Math.floor(-1.111); // -2
// 3.반올림
const round_1 = Math.round(1); // 1
const round_4 = Math.round(1.777); // 2
const round_5 = Math.round(null); // 0
const round_6 = Math.round(0); // 0
const round_7 = Math.round(-1); // -1
const round_9 = Math.round(-1.5); // -1