📌 문제 링크
https://www.acmicpc.net/problem/1152
📌 문제 탐색하기
- 영어와 공백으로 이루어진 문자열이 주어질 때 단어가 몇 개가 있을지 출력해라
시간복잡도
- O(n)
📌 코드 설계하기
- 입력값을 띄어쓰기로 분리 후 `""`값을 제거한 `input` 배열을 만듭니다.
- `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 |