코딩테스트/백준

백준 1152번: 단어의 개수 [Java]

블로그 주인장 2023. 8. 15.

🎁 링크

https://www.acmicpc.net/problem/1152

 

1152번: 단어의 개수

첫 줄에 영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열의 길이는 1,000,000을 넘지 않는다. 단어는 공백 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다. 또한 문자열

www.acmicpc.net

🎁 문제 설명

두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.

수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오

영어 대소문자와 공백으로 이루어진 문자열이 주어진다. 이 문자열에는 몇 개의 단어가 있을까? 이를 구하는 프로그램을 작성하시오. 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.

🎁 입출력 예시

🎁 코드

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {

        int answer = 0;

        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();

        String[] s1 = s.split(" ");

         for (int i = 0; i < s1.length; i++) {
            if(!s1[i].equals("")){
                answer++;
            }
        }

        System.out.println(answer);
        scanner.close();

    }

}

🎁 코드 설명

1) Scanner를 통해 입력 값을 받는다

2) scanner.nextLine() 을 통해 문자열을 입력받는다.

3) s.split() 함수를 이용해서 문자열을 쪼개 문자열 배열(s1)에 삽입한다.

4) 문자열의 갯수(s1.Length)만큼 반복문을 돌려서 공백("")일 경우를 제외하고 answer의 카운트를 증가시켜준다.

반응형

'코딩테스트 > 백준' 카테고리의 다른 글

백준 3052번: 나머지 [Java]  (0) 2023.08.17
백준 2830번 : 행성 X3 [Java]  (0) 2023.08.14
백준 10807번: 개수 세기 [Java]  (0) 2023.08.14

댓글