-
백준 3181번: 줄임말 만들기문자열(String) 2018. 6. 13. 11:00반응형
백준 온라인 저지(BOJ) 3181번 문제
https://www.acmicpc.net/problem/3181
1. 문제 요약
입력 받는 문자열에서 공백과 문제에서 주어진 특정 단어를 제외하고 각 단어의 첫 글자를 대문자로 출력 하는 문제
2. 알고리즘
문자열을 입력 받는다.
공백 단위로 문자열을 분리 한다.
각 단어의 첫 글자를 대문자로 출력한다.
3. 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849#include <iostream>#include <algorithm> // min#include <functional>#include <math.h>#include <string>#include <string.h>#include <vector>#include <map>#include <sstream>#include <queue>using namespace std;void split(const string& str, const string& delim, vector<string>& parts) {size_t start, end = 0;while (end < str.size()) {start = end;while (start < str.size() && (delim.find(str[start]) != string::npos)) {start++; // skip initial whitespace}end = start;while (end < str.size() && (delim.find(str[end]) == string::npos)) {end++; // skip to end of word}if (end-start != 0) { // just ignore zero-length strings.parts.push_back(string(str, start, end-start));}}}int main() {std::ios::sync_with_stdio(false); cin.tie(0);string s;getline(cin, s);vector<string> arr;split(s, " ", arr);const int size = arr.size();if (size > 0)cout << (char)(arr[0][0] - 32);for(int i = 1; i<size; i++) {if(arr[i] != "i" && arr[i] != "pa" && arr[i] != "te" && arr[i] != "ni" && arr[i] != "niti" && arr[i] != "a" && arr[i] != "ali" && arr[i] != "nego" && arr[i] != "no" && arr[i] != "ili")cout << (char)(arr[i][0] - 32);}return 0;}cs 반응형'문자열(String)' 카테고리의 다른 글
백준 1152번: 단어의 개수 (0) 2018.06.27 백준 15837번 : 백준 온라인 저지 (0) 2018.06.20 Codeforces Round #486 (Div. 3) - B. Substrings Sort (0) 2018.06.19 프로그래머스 Level1 > 문자열 내 p와 y의 개수 (0) 2018.06.14 백준 1302번: 베스트셀러 (0) 2018.06.13