-
[5637] 가장 긴 단어BOJ 2022. 3. 25. 15:43
https://www.acmicpc.net/problem/5637
5637번: 가장 긴 단어
단어는 알파벳(a-z, A-Z)과 하이픈(-)으로만 이루어져 있다. 단어와 다른 문자(마침표, 숫자, 심볼, 등등등...)로 이루어진 글이 주어졌을 때, 가장 긴 단어를 구하는 프로그램을 작성하시오. Apple의
www.acmicpc.net
getchar()로 한글자씩 읽어서 파싱한 뒤,
ans가 비어있거나 length()가 더 큰 경우에만 새로 갱신한 뒤에, 소문자로 바꿔서 출력하면 된다.
#include <bits/stdc++.h>using namespace std;string ans;int main(void) {while (1) {string cur = "";while (1) {char c = getchar();bool chk = false;if ('a' <= c && c <= 'z') chk = true;if ('A' <= c && c <= 'Z') chk = true;if (c == '-') chk = true;if (chk == false) break;cur.push_back(c);}if (cur == "E-N-D") break;if (ans.empty() || ans.length() < cur.length()) ans = cur;}for (auto& i : ans)if (i != '-') i |= 32;cout << ans;return 0;}
'BOJ' 카테고리의 다른 글
[1719] 택배 (0) 2022.03.29 [1038] 감소하는 수 (0) 2022.03.26 [19236] 청소년 상어 (0) 2022.03.23 [2637] 장난감 조립 (0) 2022.03.23 [1613] 역사 (0) 2022.03.23