SMALL
1. 문제
https://www.acmicpc.net/problem/1152
1152번: 단어의 개수
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열
www.acmicpc.net
2. 주요 개념
- 스캐너, nextLine()
- trim(), split()
- isBlank()
- arr.length
3. 나의 풀이 (*은 잘 안풀린 부분)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner s = new Scanner(System.in);
String str = s.nextLine();
// 문자열 입력
// * nextLine으로 받아야 함!
String no_blank_str = str.trim();
// * 문자열 앞뒤 공백 제거!
String[] arr = no_blank_str.split(" ");
// * split된 단어들은 "String 배열"에 저장됨
int result; // 최종 단어 갯수
// * 공백 하나만 포함된 문자열 ex. " " > 답이 0이 되어야 함.
if (no_blank_str.isBlank()) {
result = 0;
// * isBlank > 공백 여부 확인
}
else {
result = arr.length;
}
System.out.println(result);
}
}
4. 짚고 넘어가기!
- nextLine을 이용하여 문자열 받기 (개행 문자로 구별되기에)
- trim() > 문자열 앞/뒤 공백 제거 (문자열 중간 공백은 제거 X)
- split() > 문자열 중간 공백 제거를 위해 사용 > 문자열 배열에 저장
- isBlank() > 대상의 공백 여부를 판단 > " " 입력값에 대한 판단을 위해 사용
728x90
'Algorithm > Java' 카테고리의 다른 글
[백준] n.5622 - 다이얼에 해당하는 문자 식별&사용 시간 구하기 (0) | 2023.05.23 |
---|---|
[백준] n.2908 - 상수를 거꾸로 읽어 크기 비교 후 값 출력 (0) | 2023.05.22 |
[백준] n.2675 - 문자열에 속해있는 각 문자를 원하는 횟수만큼 반복하기 (0) | 2023.05.19 |
[백준] n.10809 - 한 단어에 있는 알파벳의 위치 찾기 (0) | 2023.05.18 |
[백준] n.9086 - 각 문자열의 first, last 문자를 함께 출력하기 (0) | 2023.05.17 |
댓글