※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 21966번 문제인 (중략)이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/21966
21966번: (중략)
알파벳 대문자, 알파벳 소문자, 쉼표, 마침표의 아스키 코드는 각각 65-90, 97-122, 44, 46이다.
www.acmicpc.net
문제에서 주어지는 내용을 그대로 구현하는 문제이다.
어떤 부분 문자열이 한 문장에 속하는지 여부는 해당 부분문자열에 '.'이 해당 문자열의 마지막이 아닌 위치에 존재하는지를 살피는 것으로 판단할 수 있다.
substr등을 이용해 구현을 편하게 하자.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N; cin >> N;
string s; cin >> s;
bool chk = 1;
if (N <= 25) cout << s;
else {
for (int i = 12; i < N - 12; i++) {
if (s[i] == '.') chk = 0;
}
if (chk) cout << s.substr(0, 11) << "..." << s.substr(N - 11, 11);
else cout << s.substr(0, 9) << "......" << s.substr(N - 10, 10);
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 21968 // C++] 선린의 터를 (0) | 2022.09.22 |
---|---|
[BOJ 21967 // C++] 세워라 반석 위에 (1) | 2022.09.21 |
[BOJ 21965 // C++] 드높은 남산 위에 우뚝 선 (1) | 2022.09.19 |
[BOJ 21964 // C++] 선린인터넷고등학교 교가 (0) | 2022.09.18 |
[BOJ 25289 // C++] 가장 긴 등차 부분 수열 (0) | 2022.09.17 |