JS | trim() : 문자열 공백 제거

DongHee Kim·2021년 7월 20일
1

Javascript

목록 보기
3/9
post-thumbnail

Node.js로 백준 알고리즘 문제를 푸는 과정에서 알게된 trim() 메서드
간단해보이지만 알고리즘 문제의 입력값을 Node.js로 오류없이 받아오는데 소중하고 또 소중하기 때문에 잊지않도록 정리해본다.

🤔 : 분명 console에서 test를 해보았을 땐 잘 돌아가는데, 백준 사이트에 답을 제출하면 틀렸습니다가 나온다..?

👉🏻입력값에 trim()이 필요하지는 않을지 고민해봐야한다. (경험담)

비슷한 사례는 예제 2를 통해 소개할 예정

trim()

설명

str.trim()

문자열 양 끝의 공백을 제거한 새로운 문자열을 반환한다.
다만, 원본 문자열에는 영향을 주지 않는다.


예제 1

let say = " hello! ";
console.log(say.trim())
//반환값 :hello! (앞뒤 공백 모두 제거)

예제 2

문제

입력값이 아래와 같이 한 줄에 하나의 형태로 입력될 때, 각각의 입력값을 2로 나눈 나머지를 구하라
1
2
3
4
5
6
7

풀이

let input = "1\n2\n3\n4\n5\n6\n7\n";
// 입력값을 변수 input에 할당

let Number = input.toString().trim().split('\n');
/*
input을 문자열로 반환한 뒤 줄바꿈 기준으로 나누었다.

이 때 trim()을 넣지않으면
console.log(Number) = ["1", "2", "3", "4", "5", "6", "7", ""] 

trim()을 넣으면 
console.log(Number) = ["1", "2", "3", "4", "5", "6", "7"]

실제 입력값은 7까지이기 때문에 trim() 넣어 빈 문자열을 없애줘야 한다.
*/

let arrNumber = Number.map(x => x % 2);
console.log(arrNumber);
//반환되는 값 : [1, 0, 1, 0, 1, 0, 1]

이 문제는 입력값을 구할 때 trim()을 넣지 않으면 빈 문자열도 입력값에 포함되기 때문에, 나머지를 구할 줄 알아도 오답이 나올 수 밖에 없었다. 줄바꿈으로 나누어지는 값들을 입력값으로 받을 때 trim()이 필요할지는 않을지 항상 생각해보는 것이 필요하다.

profile
일상의 성실이 자존감을 만드는 성취주의자

0개의 댓글