반응형
리뷰
N의 개수가 주어지지 않았다... 불친절한 문제
문제 풀이
- true 조건으로 while문을 개행해 주고 각 케이스 마다 문자열을 받아 주고 만약 문자열이 비었다면 break 해준다.
- 문자열의 각 문자를 참조하여 각각의 케이스마다 소문자, 대문자, 숫자, 공백의 숫자를 올려준다.
- 소문자, 대문자, 숫자, 공백의 순으로 개수를 출력해 준다.
참고 사항
- 혹시 모를 오류를 대비해 try-catch문으로 오류 발생 시 while루프를 break 해주었다.
- black, 숫자, 대문자, 소문자 순으로 if문을 구성하면 더 편하다.
정답 코드
#include <iostream>
#include <string>
using namespace std;
int main() {
while (1) {
try
{
string s;
getline(cin, s);
if (s == "") break;
int small = 0, big = 0, num = 0, black = 0;
for (int i = 0; i < s.size(); i++) {
if (s[i] == ' ') black++;
else if (s[i] < 65) num++;
else if (s[i] < 97) big++;
else small++;
}
cout << small << " " << big << " " << num << " " << black << "\n";
}
catch (const std::exception&)
{
break;
}
}
}
728x90
반응형
'알고리즘 공부 > C++' 카테고리의 다른 글
백준 10173번 니모를 찾아서 C++ (1) | 2024.07.21 |
---|---|
백준 2857번 FBI C++ (1) | 2024.07.21 |
백준 11656번 접미사 배열 C++ (0) | 2024.07.20 |
백준 2948번 2009년 C++ (1) | 2024.07.20 |
백준 11655번 ROT13 C++ (0) | 2024.07.20 |