본문 바로가기
  • 개발 / 공부 / 일상
C++

(C++) [백준] 도비의 난독증 테스트

by JJeongHyun 2023. 1. 10.
반응형

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

 

2204번: 도비의 난독증 테스트

꿍은 도비에게 영어단어들을 제시한 후 어떤 단어가 대소문자를 구분하지 않고 사전순으로 가장 앞서는지 맞추면 양말을 주어 자유를 얻게해준다고 하였다. 하지만 인성이 좋지 않은 꿍은 사실

www.acmicpc.net

 

요약 ) 

  1. 첫 번째 줄에 입력한 수는 단어의 개수를 입력한다.
  2. 이후 두 번째 줄부터는 영어 단어를 입력하면 된다.
    1. 입력할 단어의 길이는 최대 20.
    2. 중복 없이 입력해야 한다.
    3. 0이 입력되면 종료.

 

#include <iostream>
#include <algorithm>
#include <vector>
#include <string>

using namespace std;

int main()
{	
	while (1) {
		int n;
		cin >> n;
		if (n == 0) return 0;
		vector<pair<string, string>> word;  

		string st;
		for (int i = 0; i < n; i++) {
			cin >> st;
			string ori = st;
			for (int i = 0; i < st.size(); i++) {
				if (st[i] >= 'A' && st[i] <= 'Z') {
					st[i] = st[i] - 'A' + 'a';
				}
			}
			word.push_back(make_pair(st, ori));
		}

		sort(word.begin(), word.end());
		cout << word.front().second << endl;
	}
}

'C++' 카테고리의 다른 글

(C++) [백준] 369  (0) 2023.01.10
(C++) [백준] 약수 구하기  (0) 2023.01.10
(C++) [백준] 수 정렬하기  (0) 2023.01.10
(C++) [백준] 최소 힙  (0) 2023.01.10
(C++) [백준] 카드1  (0) 2023.01.10