250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(SWEA c++)7087. 문제 제목 붙이기 본문
728x90
반응형
N개의 제목을 입력받으면서 맨 앞의 알파벳을 확인해야 한다.
우선 26 길이의 bool형 벡터를 선언하고 false로 초기화한다.
N개의 문자열을 s에 저장.
v[s[0] - 'A']를 true로 바꿔주도록 한다.
모든 문자열을 입력 받은 후, v 벡터를 순회하면 된다.
순회하기 전 'A'가 쓰였는지 v[0]을 확인하고 미리 ans++을 해주도록 한다.
순회하면서 v[i - 1]과 v[i]가 true라면 ans++.
false라면 v[i] = false로 바꿔주어 카운팅이 되지 않도록 막아주면 된다.
#include <iostream>
#include <vector>
#include <string>
using namespace std;
int main(void)
{
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
cin >> t;
for(int tc = 1; tc <= t; tc++)
{
int N, ans = 0;
vector<bool> v(26, false);
cin >> N;
for(int i = 0; i < N; i++)
{
string s;
cin >> s;
v[s[0] - 'A'] = true;
}
if(v[0])
ans++;
for(int i = 1; i < 26; i++)
{
if(v[i - 1] && v[i])
ans++;
else
v[i] = false;
}
cout << "#" << tc << " " << ans << endl;
}
return 0;
}
728x90
반응형
'SW Expert Academy' 카테고리의 다른 글
(SWEA c++)7193. 승현이의 수학공부 (0) | 2020.11.24 |
---|---|
(SWEA c++)7102. 준홍이의 카드놀이 (0) | 2020.11.23 |
(SWEA c++)6958. 동철이의 프로그래밍 대회 (0) | 2020.11.23 |
(SWEA c++)6900. 주혁이의 복권 당첨 (0) | 2020.11.20 |
(SWEA c++)6853. 직사각형과 점 (0) | 2020.11.20 |