[알고리즘] 백준 1152번 - 문자열

ho's·2022년 3월 30일
0

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

위와 같은 문제이다.

단어가 몇 개가 있는지 묻는 문제이다.
문제를 풀기 위해 다음과 같이 생각했다.

  1. Scanner 객체를 통해 값을 입력받는다.
  2. 입력받은 문자를 배열에 저장한다.
  3. 저장한 배열의 크기만큼 배열의 index 가 " "이 나오면 count를 해준다. (공백이 3개가 나오면 단어의 수는 4개)
  4. cnt를 출력한다.

짧은 시간에 나 스스로 생각한대로 문제를 푼 것 같아 뿌듯했지만...
결과는!!

하핳.. 다시 문제를 보자

그렇다. 문자열은 공백으로 시작하거나 끝날 수 있다는 것이다.

예를들어 위에 내가 만든 코드드 대로 같은 문자열을 입력한다면,
The Curious Case of Benjamin Button -> 결과값: 7
The Curious Case of Benjamin Button -> 결과값: 6

이 출력될 것이다.
예외처리를 해주자.

1. 위의 코드는 cnt=1;부터 시작했지만 cnt=0;으로 해준뒤, 문자열의 첫번째와 마지막이 " "이 아니라면 cnt를 +1 해준 뒤 저장한다.
2. 배열의 첫번째, 마지막이 모두 " "이라면, cnt를 -1 해준뒤 저장한다.
3. 마지막 경우, 문자열의 첫번째가 " "이고, 마지막이 " "이 아닐때는
" "을 세어주면 단어의 갯수가 나타내어진다.
문자열의 첫번째가 " "이 아니고, 마지막이 " "이어도 " "을 세어주면 단어의 갯수가 나타내어 진다.

1,2,3에 의해 예외처리를 하게 되었고, 문제에서 말하는 모든 케이스에 대해서 예외없이 적용이 되는 코드를 작성해보자.

해결 되었다!😀😁

profile
그래야만 한다

0개의 댓글