※ 글쓴이는 취미로 코딩을 익혀보는 사람이라 정확하지 않은 내용을 담고 있을 수 있다 ※
이번에 볼 문제는 백준 3181번 문제인 줄임말 만들기이다.
문제는 아래 링크를 확인하자.
https://www.acmicpc.net/problem/3181
3181번: 줄임말 만들기
꿍은 만사가 귀찮아서 말을 하기도 귀찮아 한다. 그래서 하려는 말을 대신해줄 줄임말을 만들려고 하는데 나름 규칙을 만들었다. 하려는 말은 최소 하나 이상의 단어를 포함하는데 각 단어들은
www.acmicpc.net
주어져있는 "쓸모없는 단어"를 제외한 단어들의 첫 문자들을 대문자로 이어 출력하는 문제이다. 단, 첫 단어의 첫 문자는 항상 (대문자로) 출력해주어야 한다.
각 단어가 "쓸모없는 단어"인지를 판단하는 것은 set 자료구조를 이용해 아래와 같이 간단히 구현할 수 있다.
아래는 제출한 소스코드이다.
#include <iostream>
#include <string>
#include <set>
using namespace std;
string s;
set<string> st = { "a", "ali", "i" , "ili", "nego", "ni", "niti", "no", "pa", "te" };
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
cin >> s; cout << (char)toupper(s[0]);
while (cin >> s) {
if (st.find(s) == st.end()) cout << (char)toupper(s[0]);
}
}
728x90
'BOJ' 카테고리의 다른 글
[BOJ 25325 // C++] 학생 인기도 측정 (0) | 2023.02.16 |
---|---|
[BOJ 16172 // C++] 나는 친구가 적다 (Large) (0) | 2023.02.16 |
[BOJ 3184 // C++] 양 (0) | 2023.02.16 |
[BOJ 1907 // C++] 탄소 화합물 (0) | 2023.02.16 |
[BOJ 24444 // C++] 알고리즘 수업 - 너비 우선 탐색 1 (0) | 2023.02.15 |