백준 풀이 🍪
백준 1152번 <단어의 개수>
섭웨이
2022. 8. 13. 03:17

백준 1152번 <단어의 개수>
브론즈 2
https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
let input = prompt().trim().split(" ");
console.log(input.length);
원래 제가 짰던 코드입니다.
trim()를 사용하여 문자열 양쪽 공백을 제거했습니다.
trimFront() 메서드는 문자열 맨 앞쪽의 공백을 제거해주고, trimEnd()는 문자열 맨 뒤의 공백을 제거해줍니다.
당연히 맞을 줄 알고 돌려봤는데 결과는 실패...ㅜㅜ
예외 케이스가 있었습니다. 그냥 공백 " "을 입력하면 단어가 없어서 0이 나와야하는데
1이 출력이 되더라구요.
예외를 방지하기 위해 filter()함수를 사용했습니다.
let input = prompt().trim().split(" ");
let res = input.filter(word => word !== '');
console.log(res.length);
input 배열의 요소들을 word인자로 받으며 ' ' 공백이 아닌 요소 들만 걸려저서 반환되게 됩니다.
따라서 기존에 ' ' 공백을 입력하면 [" "] 이런식으로 하나의 요소가 들어가지 않고
[] 아예 빈 배열로 반환되는 것이죠!