백준 1157 단어 공부 C++
- C
- 2023. 4. 5.
백준 1157 단어 공부
백준 1157번 "단어 공부" 문제의 자세한 내용은 글 하단의 문제 링크를 참고하세요.
1157 문제에 주어지는 입력 및 예시
입력:
Mississipi
출력:
?
코드
백준 1157번 "단어 공부" 문제의 코드입니다.
1번 코드(stack 사용.)
#include <bits/stdc++.h>
using namespace std;
int az[26];
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
stack<int> ff;
int max=-1;
string a;
cin>>a;
for(int i=0;i<a.length();i++){
if(a[i]>='a')
az[a[i]-'a']++;
else
az[a[i]-'A']++;
}
for(int i=0;i<26;i++){
if(max<az[i]){
max=az[i];
ff.push(i);
}
else if(max==az[i]&&!ff.empty()){
ff.pop();
}
}
if(ff.empty())
cout<<"?";
else
cout<<char('A'+ff.top());
return 0;
}
2번 코드.
#include <bits/stdc++.h>
using namespace std;
int az[26];
int main(){
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
int max=-1;
int n,flag=0;
string a;
cin>>a;
n=a.length();
for(int i=0;i<n;i++){
if(a[i]>='a')
az[a[i]-'a']++;
else
az[a[i]-'A']++;
}
for(int i=0;i<26;i++){
if(max<az[i]){
max=az[i];
flag=i;
}
else if(max==az[i]){
flag=-1;
}
}
if(flag==-1)
cout<<"?";
else
cout<<char('A'+flag);
return 0;
}
실행
위의 코드를 예제의 입력을 넣어 실행했을 때의 결과입니다.
'C' 카테고리의 다른 글
백준 2178 미로 탐색 C++ (0) | 2023.04.05 |
---|---|
백준 2475 검증수 C++ (0) | 2023.04.05 |
백준 2941 크로아티아 알파벳 C++ (0) | 2023.04.05 |
백준 4375 1 C++ (0) | 2023.04.04 |
백준 1629 곱셈 C++ (0) | 2023.04.04 |