jiho_bae
Go devlog
jiho_bae
전체 방문자
오늘
어제
  • 분류 전체보기 (158)
    • JavaScript (38)
      • theory (34)
      • vanilla (4)
    • HTML & CSS (2)
    • Browser (3)
    • CS (6)
      • linux (1)
      • shell (2)
      • compiler (2)
    • DS & Algorithm (87)
      • theory (5)
      • basic (7)
      • programmers (30)
      • baekjoon (45)
    • Design Pattern (2)
    • Error (4)
    • Git & Github (4)
    • Tools (1)
    • 부트캠프 (4)
    • Small Tips (2)
    • Java (3)
    • test (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 대충만든자판 javascript
  • safari invalid date error
  • 자바스크립트 비동기 마이크로 태스크 큐와 렌더링 과정
  • fetch 취소하기
  • 자바스크립트 이벤트 위임
  • 13460 javascript nodejs
  • 가사 검색 자바스크립트
  • 1753 최단경로 javascript
  • 카카오 코딩테스트 양궁대회 nodeJS
  • JavaScript
  • 자바스크립트 모듈 시스템
  • 덧칠하기 javascript
  • 백준 17406 nodeJS
  • 백준 자바스크립트 입력 템플릿
  • 병합정렬 자바스크립트
  • 외벽 점검 javascript
  • 자바스크립트 커링
  • 자바스크립트 배열의 특수함
  • 퀵정렬 자바스크립트
  • 억억단을 외우자 javascript
  • 프로그래머스 숫자카드나누기 javascript
  • javascript use strict
  • 리코쳇 로봇 javascript
  • 자바스크립트 sort는 왜 그모양일까
  • 자바스크립트 채팅방 스크롤
  • 25632 소수 부르기 게임
  • 깃 이전 커밋에서 새 브랜치 만들기
  • 리액트 프로젝트 디버깅하기
  • 계수정렬 자바스크립트
  • safari Date format NaN

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
jiho_bae

Go devlog

DS & Algorithm/baekjoon

[백준] 1152번 단어의 개수 - JavaScript(NodeJS)

2021. 7. 1. 11:07

문제

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한

www.acmicpc.net

 

코드

function sol(input) {
  input = input.trim();
  if (input === "") return 0;
  return input.split(" ").length;
}

// 백준에서 입력을 받는 코드
require("readline")
  .createInterface(process.stdin, process.stdout)
  .on("line", (line) => {
    console.log(sol(line));
  })
  .on("close", () => {
    process.exit();
  });

 

풀이

 

문제의 조건

 

첫 줄에 영어 대소문자와 띄어쓰기로 이루어진 문자열이 주어진다.

문자열의 길이는 1,000,000을 넘지 않는다.

 

단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다.
또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.

 

단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

 

 

 

무작정 " "로 분리한 배열의 길이를 구하려 하면 에러가 발생한다.

 

예외 케이스를 고려해보면,

 

입력이 "", " ", " " 등으로 주어지거나, 문자열의 맨 앞이나 뒤에 공백이 존재할 수도 있다.

 

그러므로 trim 메서드로 문자열 양 끝의 공백을 제거해주고,
양 끝 공백이 제거된 문자열이 "" 일 때 split(" ")의 길이는 1이 되므로, 이 경우에는 0을 반환한다.

 

이외의 경우에서는 split(" ")에 의해 나눈 배열의 길이를 반환한다.

저작자표시 (새창열림)

'DS & Algorithm > baekjoon' 카테고리의 다른 글

[백준] 1316번 그룹 단어 체커 - JavaScript(NodeJS)  (0) 2021.07.02
[백준] 1037번 약수 - JavaScript(NodeJS)  (0) 2021.07.01
[백준] 15990번 1, 2, 3 더하기 5 - JavaScript(NodeJS)  (0) 2021.06.09
[백준] 1157번 단어 공부 - JavaScript(NodeJS)  (0) 2021.06.09
[백준] 9663번 N-Queen - JavaScript(NodeJS)  (1) 2021.06.08
    'DS & Algorithm/baekjoon' 카테고리의 다른 글
    • [백준] 1316번 그룹 단어 체커 - JavaScript(NodeJS)
    • [백준] 1037번 약수 - JavaScript(NodeJS)
    • [백준] 15990번 1, 2, 3 더하기 5 - JavaScript(NodeJS)
    • [백준] 1157번 단어 공부 - JavaScript(NodeJS)
    jiho_bae
    jiho_bae
    하루에 한 걸음씩

    티스토리툴바