/*
주의 사항
(1) 단, 한 단어가 여러 번 등장하면 등장한 횟수만큼 모두 세어야 한다.
(2) 또한 문자열의 앞과 뒤에는 공백이 있을 수도 있다.
(3) 단어는 띄어쓰기 한 개로 구분되며, 공백이 연속해서 나오는 경우는 없다.
*/
1. 풀이
(1) 공백을 찾으면 되었던 문제.
"apple fine apple"도 결과는 3
"로직 (1) : 단어 3개 사이에는 공백이 2개이므로", 공백 + 1 = 결과값
(2) 문제에서 나올 수 있는 입력 케이스,
- case1 : 공백
- case2 : 공백 + {단어 N}
- case3 : 공백 + {단어 N} + 공백
- case4 : {단어 N}
단어가 3개라서 공백이 2개라는 로직은 case4번만 해결가능.
나머지 case1~3 케이스를 처리하기 위한 예외처리 필요했음.
"로직 (2) 양끝 공백은 무시한다"
입력[0], 입력[입력 size - 1]이 공백이면 로직(1)에서 센 결과를 -1 만큼 빼준다.
2. github코드
'공부 > 오늘의 코딩' 카테고리의 다른 글
[검색 알고리즘] 띄어쓰기 포함된 문자 (0) | 2020.06.15 |
---|---|
[뒤집기] 1439번, 최소 뒤집기 구하기(2) (0) | 2020.05.19 |
[뒤집기] 1455번, 최소 뒤집기 구하기(1) (0) | 2020.05.19 |
[백준1285] 뒤집기(1) (0) | 2020.05.16 |
[문자열 처리] 1764번, 단어간 중복을 찾아라 (0) | 2020.04.19 |