만족
[Nodejs] 코딩 테스트 필수 테크닉: String 본문
[Nodejs] 코딩 테스트 필수 테크닉: String
Nodejs Satisfaction 2021. 7. 29. 23:46자바스크립트로 코딩 테스트를 볼 때 반드시 알아야 하는 String 관련 함수에 대해 알아보자
String.prototype.substring
str.substring(indexStart[, indexEnd])
string에서 indexStart 부터 indexEnd-1까지를 포함하는 새로운 문자열을 반환한다.
(indexEnd -1까지라는 점을 명심하자. indexEnd에 해당하는 문자는 포함되지 않는다)
const str = 'Mozilla';
console.log(str.substring(1, 3));
// expected output: "oz"
String.prototype.split
str.split([separator[, limit]])
string을 separator를 기준으로 잘라 array를 반환한다.
이는 매우 중요하다.
코딩 테스트에서 입력값이
1 2 3
처럼 문자열로 주어지는데, 이를 배열로 바꾸기 위해서 이 함수를 사용한다.
const str= "1 2 3"
const nums= str.split(" ");
//nums= ["1", "2", "3"]
String.prototype.indexOf
str.indexOf(searchValue[, fromIndex])
string에서 특정 문자열이 어떤 인덱스에 존재하는지를 찾는다.
(순차탐색을 하기 때문에 searchValue가 여러 번 존재할 경우 가장 앞에 있는 부분문자열의 인덱스를 반환한다)
존재하지 않을 경우 -1을 리턴한다.
const paragraph = 'The quick brown fox jumps over the lazy dog. If the dog barked, was it really lazy?';
const searchTerm = 'dog';
const indexOfFirst = paragraph.indexOf(searchTerm);
console.log(`The index of the first "${searchTerm}" from the beginning is ${indexOfFirst}`);
// expected output: "The index of the first "dog" from the beginning is 40"
console.log(`The index of the 2nd "${searchTerm}" is ${paragraph.indexOf(searchTerm, (indexOfFirst + 1))}`);
// expected output: "The index of the 2nd "dog" is 52"
String.prototype.includes
str.includes(searchString[, position])
string에서 주어진 문자열이 존재하는지를 반환한다.
주의! include가 아니라 includes다.
IDE사용을 금지하는 코테에서 이거 왜 자꾸 오류나는지 몰라서 시간 버린적도 있었다...
const sentence = 'The quick brown fox jumps over the lazy dog.';
const word = 'fox';
console.log(`The word "${word}" ${sentence.includes(word) ? 'is' : 'is not'} in the sentence`);
// expected output: "The word "fox" is in the sentence"
String.prototype.charAt
str.charAt(index)
index 위치에 있는 문자 하나를 반환한다.
str[index]와 동일하게 작동한다.
const sentence = 'The quick brown fox jumps over the lazy dog.';
const index = 4;
console.log(`The character at index ${index} is ${sentence.charAt(index)}`);
// expected output: "The character at index 4 is q"
String.prototype.replace
var newStr = str.replace(regexp|substr, newSubstr|function)
string에서 주어진 문자열이나 정규식에 해당하는 문자를 newSubstr로 치환하여 반환한다.
const p = 'The quick brown fox jumps over the lazy dog. If the dog reacted, was it really lazy?';
console.log(p.replace('dog', 'monkey'));
// expected output: "The quick brown fox jumps over the lazy monkey. If the dog reacted, was it really lazy?"
const regex = /Dog/i;
console.log(p.replace(regex, 'ferret'));
// expected output: "The quick brown fox jumps over the lazy ferret. If the dog reacted, was it really lazy?"
String.prototype.charCodeAt
str.charCodeAt(index)
string에서 index위치에 존재하는 문자의 유니코드 값(utf-16)을 리턴한다.
const sentence = 'The quick brown fox jumps over the lazy dog.';
const index = 4;
console.log(`The character code ${sentence.charCodeAt(index)} is equal to ${sentence.charAt(index)}`);
// expected output: "The character code 113 is equal to q"
String.prototype.trim()
const greeting = ' Hello world! ';
console.log(greeting);
// expected output: " Hello world! ";
console.log(greeting.trim());
// expected output: "Hello world!";
string의 앞뒤에 존재하는 공백 문자를 제거한다.
앞의 공백만 제거하고 싶다면 trimStart(),
뒤의 공백만 제거하고 싶다면 trimEnd()를 사용할 수도 있다.
String.length
const str = 'Life, the universe and everything. Answer:';
console.log(`${str} ${str.length}`);
// expected output: "Life, the universe and everything. Answer: 42"
문자열의 길이를 반환한다.
String 비교
두 개의 문자열을 사전 순으로 비교하고자 할 때 > 또는 < 를 사용할 수 있다.
const foo1= "가나" > "가다"
//false; 첫 번째 문자는 동일하므로, 두 번째 문자인 나와 다 중 나가 사전순으로 더 앞에 위치하므로 false를 리턴한다.
String 반대로 뒤집기
const str= "asd";
str.split('').reverse().join('')
//"dsa"
문자열 단위로 쪼갠 뒤, 반대로 뒤집어 다시 string으로 만드는 방법이다.
'Nodejs' 카테고리의 다른 글
[Nodejs] 코딩 테스트 필수 테크닉: Stack, Queue, Map (0) | 2021.07.30 |
---|---|
[Nodejs] 코딩 테스트 필수 테크닉: Math (0) | 2021.07.30 |
[Nodejs] 코딩 테스트 필수 테크닉: Array (0) | 2021.07.23 |
[Nodejs] PROTOCOL_ENQUEUE_AFTER_FATAL_ERROR (0) | 2021.05.18 |
[Nodejs] Error: read ECONNRESET at TCP.onStreamRead (node:internal/stream_base_commons:213:20) (0) | 2020.12.18 |