[백준] 1157. 단어 공부
Algorithm2021. 11. 16. 14:44
반응형
생각 후 코딩을 연습해야 하는데 자꾸 쉽다고 바로 코드 작성하는 이상한 버릇이 생겨버림,,
조심하도록 하자...
int main(void)
{
string word; //입력 단어
char ans; //정답 출력
vector<int> map(26); //letter map
int max = 0;
int flag = 0; // 최대값이 2개 이상 곂치는 경우 flag를 올림
cin >> word;
for(int i=0; i<word.size(); i++)
{
if('A'<=word[i]&&word[i]<='Z') //대문자 일 때
{
map[word[i]-65]++; //해당글자에 해당하는 map 증가
if(max < map[word[i]-65]) //max 값이 새로 갱신 될 경우
{
max = map[word[i]-65]; //max 값 갱신
flag = 0; // flag를 내리고
ans = word[i]; // 해당 글자를 정답글자로
}
else if(max == map[word[i]-65])
flag = 1; //최대값을 가지는 단어가 여러개인 경우
}
else //소문자 일 때
{
map[word[i]-97]++;
if(max < map[word[i]-97])
{
max = map[word[i]-97];
flag = 0;
ans = word[i]-32;
}
else if(max == map[word[i]-97])
flag = 1;
}
}
if(flag == 1) // 최대값이 중복인 경우
cout << '?';
else // 아닌 경우
cout << ans;
return 0;
}
반응형
'Algorithm' 카테고리의 다른 글
[Leetcode] 844. Backspace String Compare (0) | 2021.11.17 |
---|---|
[Programmers] 소수만들기 (0) | 2021.11.17 |
[백준] 1316. 그룹 단어 체커 (0) | 2021.11.16 |
[백준] 1159. 농구경기 (0) | 2021.11.15 |
[백준] 5822. 다이얼 (0) | 2021.11.15 |
댓글()