[백준|자바] 1152: 단어의 개수

2021. 8. 28. 01:23·Problem Solving/백준
문제

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

 

1152번: 단어의 개수

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

www.acmicpc.net

 

코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String line = sc.nextLine();
int cnt = 0;
line = line.trim(); // 문자열 앞뒤 공백 제거
if(line.isEmpty()) { //공백만 입력된 경우
System.out.println("0");
} else {
String[] arr = line.split(" "); // 공백을 기준으로 문자를 잘라서 arr배열에 저장
System.out.println(arr.length);
}
sc.close();
}
}

 

코드 설명

문자열 공백 관련 문제.

문자열 앞뒤 공백을 제거해야 하고 공백 하나만 입력되었을 시 예외처리도 해 주어야 한다. 예외처리 없이는 기본 1로 출력됨.

if(line.isEmpty()) { //공백만 입력된 경우
System.out.println("0");
} else {
String[] arr = line.split(" "); // 공백을 기준으로 문자를 잘라서 arr배열에 저장
System.out.println(arr.length);
}

공백만 입력되었을 시 0을 출력하고, 아니라면 문자를 공백 기준으로 나누어 저장한 배열의 크기를 출력한다.

 

 

마무리

아무 생각없이 arr배열 길이 출력하는 코드만 작성해서 제출했다가 틀림 판정받고 멘붕 받아서 검색해보니 공백만 입력하는 경우도 처리해야 한다고 해서 공백 처리 함수들 여기저기 뒤져보다가 isEmpty() 함수를 써보았더니 성공적으로 정답 인정받았다. 

추가로 

String[] arr = line.split("\\s+");
System.out.println(arr.length);

위와 같이

"\\s+"

이용하면 여러 개의 공백 및 탭을 처리할 수 있다. (출처: https://okky.kr/article/117730 Kenny 님 답변)

"\\s+" 실행결과

 


 

 

저작자표시 비영리 변경금지 (새창열림)

'Problem Solving > 백준' 카테고리의 다른 글

[백준|C++] 1712: 손익분기점  (0) 2021.08.31
[백준|자바] 5622: 다이얼  (0) 2021.08.28
[백준|자바] 2908: 상수  (0) 2021.08.28
[백준|자바] 1157: 단어 공부  (0) 2021.08.27
[백준|자바] 2675: 문자열 반복  (0) 2021.08.26
[백준|자바] 11809: 알파벳 찾기  (0) 2021.08.26
'Problem Solving/백준' 카테고리의 다른 글
  • [백준|자바] 5622: 다이얼
  • [백준|자바] 2908: 상수
  • [백준|자바] 1157: 단어 공부
  • [백준|자바] 2675: 문자열 반복
청량리 물냉면
청량리 물냉면
프로그래밍 공부를 하고 있습니다. 공부 내용 정리 겸 정보 공유를 목적으로 합니다.
  • 청량리 물냉면
    노력중인 블로그
    청량리 물냉면
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 프로그래밍
        • Programming
        • C | C++
        • Java
        • Python
      • 웹 프로그래밍
        • HTML | CSS
        • JavaScript | TypeScript
        • React
        • Vue.js
        • Next.js
        • Spring & Spring Boot
        • JSP & Servlet
        • DB
      • 웹 프로젝트
        • 웹 프로젝트
        • 🥨스낵몰
        • 👨‍👨‍👧‍👧소셜 가계부
        • 🌜꿈 일기장
        • 🔮포트폴리오 사이트
        • 🏃‍♂️팀 프로젝트: 일정관리 프로그램
        • 📈팀 프로젝트: AI기반 주식 분석 플랫폼
        • 😺Just Meow It: 고양이의 조언
      • 앱 프로그래밍
        • Flutter
        • Kotlin
      • Problem Solving
        • 백준
        • 프로그래머스
        • SWEA
      • Computer Science
        • 알고리즘
        • 컴퓨터 네트워크
        • 이산수학
      • Developer
        • 후기
        • 자료정리
        • 취업 | 취준
        • 웹개발 교육 프로그램
        • TIL
  • 블로그 메뉴

    • 홈
    • Github
  • 공지사항

    • 프로그래밍 공부 중😊
  • 인기 글

  • 태그

    자바스크립트
    mysql
    뉴렉처
    bfs
    SWEA
    플러터
    공식문서
    자바
    spring boot
    강의내용정리
    d3
    리액트
    포트폴리오
    컴퓨터네트워크
    파이썬
    AWS
    알고리즘
    블로그 제작
    Next.js
    클론 프로젝트
    프로그래머스
    Til
    타입스크립트
    ZeroCho
    React
    백준
    웹사이트
    프로젝트
    구현
    Jiraynor Programming
  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
청량리 물냉면
[백준|자바] 1152: 단어의 개수

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.