Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Data Structure
- sorting
- Class
- 코딩테스트
- array
- greedy
- bit manipulation
- Number Theory
- Tree
- 자바
- database
- Stack
- hash table
- geometry
- simulation
- 구현
- Math
- 파이썬
- Method
- string
- Matrix
- Binary Tree
- SQL
- Counting
- two pointers
- Binary Search
- 코테
- implement
- dynamic programming
- java
Archives
- Today
- Total
코린이의 소소한 공부노트
[LeetCode/Easy] 434. Number of Segments in a String 본문
1. Input
1) 문자열 s
2. Output
1) s의 segment의 개수
2) segment란 공백 문자가 아닌 문자로 이루어진 문자열을 말한다.
3. Constraint
1) 0 <= s.length <= 300
2) s는 영어 대소문자, 숫자, 특수문자 !@#$%^&*()_+-=',.:로 이루어져 있다.
3) 공백 문자는 ' '뿐이다.
4. Example
Input: s = "Hello, my name is John" -> Output: 5
설명: s는 "Hello,", "my", "name", "is", "John"의 5개의 segment로 이루어져 있다.
5. Code
1) 첫 코드(2022/07/15)
String[] ss = s.split(" ");
int len = 0;
for(int i=0 ; i<ss.length ; i++)
if(!ss[i].equals("")) len++;
return len;
- 첫 문자가 공백일 경우 split()을 썼을 때 빈 문자열이 생기는데, 이를 segment로 세지 않기 위해 for문을 이용했던 것으로 기억한다.
2) StringTokenizer를 이용한 코드(2022/11/30)
import java.util.*;
StringTokenizer st = new StringTokenizer(s," ");
return st.countTokens();
- 1번이 코딱지만큼 빠르고, 공간 절약은 2번이 압도적으로 잘 된다.
'코딩테스트 풀이 > JAVA' 카테고리의 다른 글
[LeetCode/Easy] 476. Number Complement (0) | 2022.11.30 |
---|---|
[LeetCode/Easy] 461. Hamming Distance (0) | 2022.11.30 |
[프로그래머스/Lv.1] 삼총사 (0) | 2022.11.30 |
[LeetCode/Easy] 412. Fizz Buzz (0) | 2022.11.29 |
[LeetCode/Easy] 344. Reverse String (0) | 2022.11.29 |