[BAEKJOON] 1157번 단어 공부

2024. 3. 18. 21:54·Algorithm/구현, 시뮬레이션

https://www.acmicpc.net/problem/1157

 

1157번: 단어 공부

알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.

www.acmicpc.net

 

가장 많이 쓴 영어 단어를 대문자로 출력하라.

 

사실 그냥 문자를 숫자로 취급한 아스키코드로 쉽게 풀어줄 수도 있지만, 저번에 map으로 이런 비슷한 문제를 풀어 봤던것 같아서 map을 써서 풀어 볼 것이다.

key-value로 char-int로 두면 각 문자가 등장한 횟수를 쉽게 알 수 있다.

#include <iostream>
#include <map>
using namespace std;
string s;

map<char, int> m;
//가장 많이 사용된 알파벳 2개이상일 경우 "?" 출력
int main(){
	cin >> s;
	for (int i = 0; i < s.length(); i++) { 
		s[i] = toupper(s[i]);
		m[s[i]]++;
		
	}
	char res = ' ';
	int max = 0;
	for (auto i : m) {
		if (max < i.second) {
			max = i.second;
			res = i.first;
		}
	}

	for (auto i : m) {
		if (i.first != res && max == i.second) {
			cout << "?";
			return 0;
		}
	}
	cout << res;
}

 

아스키코드 변환은 다들 알거라 생각하지만 내 기억용으로 대문자 'A' : 65, 소문자 'a' : 97 이다.

 

'Algorithm > 구현, 시뮬레이션' 카테고리의 다른 글

[BAEKJOON] 10431번 줄세우기  (1) 2024.03.19
[BAEKJOON] 9655번 돌게임  (1) 2024.03.19
[BAEKJOON] 2292번 벌집  (0) 2024.03.18
[BAEKJOON] 5073번 삼각형과 세 변  (1) 2024.03.18
[BAEKJOON] 23971번 ZOAC 4  (0) 2024.03.18
'Algorithm/구현, 시뮬레이션' 카테고리의 다른 글
  • [BAEKJOON] 10431번 줄세우기
  • [BAEKJOON] 9655번 돌게임
  • [BAEKJOON] 2292번 벌집
  • [BAEKJOON] 5073번 삼각형과 세 변
Ls._.Rain
Ls._.Rain
안되면 될때까지 삽질했던 기록
  • Ls._.Rain
    Ls{Diary}
    Ls._.Rain
  • 전체
    오늘
    어제
    • 분류 전체보기 (136)
      • Github (2)
      • Spring (51)
        • Batch Programming (13)
        • 결제 (4)
        • 대용량 트래픽 (32)
        • OpenAI (0)
        • Security (0)
        • WebSocket (0)
        • JPA (1)
      • Algorithm (67)
        • DFS (6)
        • BFS (6)
        • Dynamic Programming (10)
        • Brute Force (4)
        • Binary Search (6)
        • 구현, 시뮬레이션 (15)
        • Stack (1)
        • Greedy (4)
        • Priority_Queue (2)
        • Back Tracking (3)
        • Geometry (2)
        • SCC (1)
        • 투포인터 (4)
        • 최대유량 (1)
        • 정렬 (1)
      • OS (0)
      • DevOps (15)
        • AWS (11)
        • Docker (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • hELLO· Designed By정상우.v4.10.0
Ls._.Rain
[BAEKJOON] 1157번 단어 공부
상단으로

티스토리툴바