https://www.acmicpc.net/submit/1152/76690234
로그인
www.acmicpc.net
문제
영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
입력
첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열은 공백으로 시작하거나 끝날 수 있다.
출력
첫째 줄에 단어의 개수를 출력한다.
import java.util.*;
import java.lang.*;
import java.io.*;
// The main method must be in a class named "Main".
class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String st = sc.nextLine();
String blank = " " ;
String[] s = st.split(" ");
int j=0;
for(String i : s){
if(i == ""){
continue;
}
j++;
}
System.out.print(j);
}
}
//.getClass().getName() 자료형확인메소드드
//어레이길이는 .length 스트링은 .length()
//스트링 인덱스 접근 .charAt() 반환값은 character
//스트링 부분변환 .replace()
//String.valueOf 스트링으로 변환
// 스트링 공백 확인이 == " " 로 확인이 안됌
// " " == " "이 아니라 " " == "" 임
※ 풀이방법
: Split함수를 이용하고 변화된 for문 사용으로 인덱스 참조
공백을 == 연산자로 비교할때 공백은 " "이 아니라 ""라는점!!!
'Codingtest' 카테고리의 다른 글
[1913]백준 달팽이 실버3 구현 (0) | 2024.07.09 |
---|---|
JAVA ArrayList,subList 생성,추가,부분집합 범위참조 방법 (1) | 2024.04.10 |
[JAVA] 백준 2562번 구현문제 (0) | 2024.04.08 |
[Java] [백준1085번] (0) | 2024.04.05 |
SQLD 합격후기 전공자/노랭이책 (0) | 2024.04.05 |