문제 링크 : https://www.acmicpc.net/problem/1152
1. 요구 사항 이해
시간, 메모리 제한 : 2초 / 128MB
영어 대소문자와 공백으로 이루어진 문자열 ( 문자열의 길이는 1,000,000을 넘지 않는다 )
문자열을 구성하는 단어의 개수를 세는 프로그램
중복은 염두하지 않는다.
2. 설계/검증
함수화
// 입력을 위한 객체 생성
Scanner scan = new Scanner(System.in)
String S = scna.nextLine();
문자열 S 길이 유효성 검사
S 내부에 " " 빈칸이 몇개인지 세고 +1
출력
3. 정상 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// 입력을 위한 객체 생성
Scanner scan = new Scanner(System.in);
//문자 입력 받음
String S = scan.nextLine();
if (S.length() > 1000000) {
System.out.println("문자열의 길이는 1,000,000을 넘지 않는다.");
return;
}
// 문자열 양 끝 공백 제거
S = S.trim();
// 입력된 문자열이 공백인 경우
if (S.isEmpty()) {
System.out.println(0);
} else {
int cnt = 0;
for (int i = 0; i < S.length(); i++) {
if (S.charAt(i) == ' ') {
cnt++;
}
}
System.out.println(cnt + 1);
}
scan.close();
}
}
'◖코딩 테스트◗▬▬▬▬▬▬▬▬▬ > 백준' 카테고리의 다른 글
[백준] 5622 다이얼 (설명/코드/정답) (0) | 2024.07.02 |
---|---|
[백준] 2908 상수 (설명/코드/정답) (0) | 2024.06.24 |
[백준] 2675 문자열 반복 (설명/코드/정답) (0) | 2024.06.17 |
[백준] 10809 알파벳 찾기 (설명/코드/정답) (0) | 2024.06.14 |
[백준] 11720 숫자의 합 (설명/코드/정답) (0) | 2024.06.12 |