๐Ÿ“ฆ Chango/๐Ÿฃ EDOC

[BOJ][C++] ๋ฐฑ์ค€ 2204๋ฒˆ: ๋„๋น„์˜ ๋‚œ๋…์ฆ ํ…Œ์ŠคํŠธ

์„ ๋‹ฌ 2021. 11. 2. 20:33
๋ฐ˜์‘ํ˜•

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

 

2204๋ฒˆ: ๋„๋น„์˜ ๋‚œ๋…์ฆ ํ…Œ์ŠคํŠธ

๊ฟ์€ ๋„๋น„์—๊ฒŒ ์˜์–ด๋‹จ์–ด๋“ค์„ ์ œ์‹œํ•œ ํ›„ ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š”์ง€ ๋งž์ถ”๋ฉด ์–‘๋ง์„ ์ฃผ์–ด ์ž์œ ๋ฅผ ์–ป๊ฒŒํ•ด์ค€๋‹ค๊ณ  ํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ธ์„ฑ์ด ์ข‹์ง€ ์•Š์€ ๊ฟ์€ ์‚ฌ์‹ค

www.acmicpc.net

 

๋ฌธ์ œ

๊ฟ์€ ๋„๋น„์—๊ฒŒ ์˜์–ด๋‹จ์–ด๋“ค์„ ์ œ์‹œํ•œ ํ›„ ์–ด๋–ค ๋‹จ์–ด๊ฐ€ ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ  ์‚ฌ์ „์ˆœ์œผ๋กœ ๊ฐ€์žฅ ์•ž์„œ๋Š”์ง€ ๋งž์ถ”๋ฉด ์–‘๋ง์„ ์ฃผ์–ด ์ž์œ ๋ฅผ ์–ป๊ฒŒํ•ด์ค€๋‹ค๊ณ  ํ•˜์˜€๋‹ค.

ํ•˜์ง€๋งŒ ์ธ์„ฑ์ด ์ข‹์ง€ ์•Š์€ ๊ฟ์€ ์‚ฌ์‹ค ๊ทธ๋Ÿฌ๊ณ  ์‹ถ์ง€ ์•Š์•˜๊ธฐ ๋•Œ๋ฌธ์— ๋Œ€์†Œ๋ฌธ์ž๋ฅผ ๋งˆ๊ตฌ ์„ž์–ด๊ฐ€๋ฉฐ ๋‹จ์–ด๋“ค์„ ์ œ์‹œํ–ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, apPle์€ Bat๋ณด๋‹ค ์•ž์„œ์ง€๋งŒ AnT๋ณด๋‹ค๋Š” ๋’ค์— ์žˆ๋Š” ๋‹จ์–ด๋‹ค.

๋„๋น„์—๊ฒŒ ํฌ๋ง์€ ์—ฌ๋Ÿฌ๋ถ„๋ฟ์ด๋‹ค! ์—ฌ๋Ÿฌ๋ถ„์ด ๋„๋น„์—๊ฒŒ ์ž์œ ๋ฅผ ์„ ๋ฌผํ•ด์ฃผ๋„๋ก ํ•˜์ž!

์ž…๋ ฅ

๊ฐ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค๋Š” ์ •์ˆ˜ n (2 ≤ n ≤ 1000) ์œผ๋กœ ์‹œ์ž‘ํ•˜๋ฉฐ ์ฃผ์–ด์ง€๋Š” ๋‹จ์–ด์˜ ๊ฐœ์ˆ˜๋ฅผ ๋œปํ•œ๋‹ค.

๋‹ค์Œ ๊ฐ n์ค„์€ ๊ธธ์ด๊ฐ€ ์ตœ๋Œ€ 20์ธ ๋‹จ์–ด๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ ๋Œ€์†Œ๋ฌธ์ž์˜ ๊ตฌ๋ถ„์„ ์—†์•ด์„ ๋•Œ ๋˜‘๊ฐ™์€ ๋‹จ์–ด๋Š” ์ฃผ์–ด์ง€์ง€ ์•Š๋Š”๋‹ค.

๋งˆ์ง€๋ง‰ ์ž…๋ ฅ์€ 0์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

๊ฐ ์ค„์— ๊ฐ ํ…Œ์ŠคํŠธ์ผ€์ด์Šค์—์„œ ์‚ฌ์ „์ƒ ๊ฐ€์žฅ ์•ž์„œ๋Š” ๋‹จ์–ด๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.

 

ํ’€์ด

#include <iostream>
#include <algorithm>
#include <string.h>

using namespace std;

int main () {
    
    int num;
    
    while(true){
        cin >> num;
        
        //์ข…๋ฃŒ
        if(num == 0)
            break;
        
        string S1, S2;
        
        cin >> S1;
        for(int i=1; i<num; i++){
            cin >> S2;
            
            string s1=S1, s2=S2;
            
            for(int j=0; j<s1.length(); j++){
                
                //์†Œ๋ฌธ์ž๋กœ ํ†ต์ผ
                if(s1[j] < 'a')
                    s1[j] = s1[j] - 'A' + 'a';
                if(s2[j] < 'a')
                    s2[j] = s2[j] - 'A' + 'a';
                
                //์•ŒํŒŒ๋ฒณ์ด ๊ฐ™๋‹ค๋ฉด ๊ทธ๋ƒฅ ํŒจ์Šค, ๋‹ค๋ฅด๋‹ค๋ฉด ์•ŒํŒŒ๋ฒณ ๋น„๊ต ํ›„ ๋ฐ˜๋ณต๋ฌธ ๋น ์ ธ๋‚˜์˜ค๊ธฐ
                if(s1[j] != s2[j]){
                    //๋‘˜์ค‘ ์•ž์„œ๋Š” ๋ฌธ์ž์—ด s1์— ๋‚จ๊ฒจ๋‘๊ธฐ
                    if(s1[j] > s2[j]){
                        S1 = S2;
                    }
                    break;
                }
            }
        }
        cout << S1 << "\n";
    }
    
    return 0;
}
๋ฐ˜์‘ํ˜•