본문 바로가기

코딩/알고리즘

백준) 1152 - 단어의 개수 JS

📌 문제 링크

https://www.acmicpc.net/problem/1152


📌 문제 탐색하기

  • 영어와 공백으로 이루어진 문자열이 주어질 때 단어가 몇 개가 있을지 출력해라

시간복잡도

  • O(n)

📌 코드 설계하기

  1. 입력값을 띄어쓰기로 분리 후 `""`값을 제거한 `input` 배열을 만듭니다.
  2. `input`의 길이를 출력합니다.

📌 시도 회차 수정 사항 (Optional)

1회차

  • `split(" ")`을 하면 코드가 분리가 되기 때문에 바로 그 배열의 길이만 구하면 될 줄 알았다.
  • 하지만 `trim()`과 `split(" ")`을 사용해도 빈 문자열이 남아 `""`와 같은 배열이 만들어지는데 이것은 단어가 아니기에 `filter()`로 제거해줘야 한다. 

📌 정답 코드

//https://www.acmicpc.net/problem/1152
export {};

const fs = require("fs");
const filePath =
  process.platform === "linux" ? "/dev/stdin" : __dirname + "/input1.txt";
const input = fs
  .readFileSync(filePath)
  .toString()
  .trim()
  .split(" ")
  .filter((x: string) => x !== "");
console.log(input.length);

'코딩 > 알고리즘' 카테고리의 다른 글

백준) 2587 - 대표값2  (1) 2024.11.13
백준) 2750 - 수 정렬하기 JS  (0) 2024.11.12
백준) 10988 - 팰린드롬인지 확인하기 JS  (0) 2024.11.10
백준) 2738 - 행렬 덧셈 JS  (1) 2024.11.09
백준) 10818 - 최소, 최대 JS  (0) 2024.11.08