문제
한글 프로그램의 메뉴에는 총 N개의 옵션이 있다. 각 옵션들은 한 개 또는 여러 개의 단어로 옵션의 기능을 설명하여 놓았다. 그리고 우리는 위에서부터 차례대로 각 옵션에 단축키를 의미하는 대표 알파벳을 지정하기로 하였다. 단축키를 지정하는 법은 아래의 순서를 따른다.
먼저 하나의 옵션에 대해 왼쪽에서부터 오른쪽 순서로 단어의 첫 글자가 이미 단축키로 지정되었는지 살펴본다. 만약 단축키로 아직 지정이 안 되어있다면 그 알파벳을 단축키로 지정한다.
만약 모든 단어의 첫 글자가 이미 지정이 되어있다면 왼쪽에서부터 차례대로 알파벳을 보면서 단축키로 지정 안 된 것이 있다면 단축키로 지정한다.
어떠한 것도 단축키로 지정할 수 없다면 그냥 놔두며 대소문자를 구분치 않는다.
위의 규칙을 첫 번째 옵션부터 N번째 옵션까지 차례대로 적용한다.
출력
N개의 줄에 각 옵션을 출력하는데 단축키로 지정된 알파벳은 좌우에 [] 괄호를 씌워서 표현한다.
예제 출력 1
복사
[N]ew
[O]pen
[S]ave
Save [A]s
Sa[v]e All
예제 출력 2
복사
[N]ew window
New [f]ile
[C]opy
[U]ndo
F[o]rmat
Fon[t]
Cut
[P]aste
W3sicHJvYmxlbV9pZCI6IjEyODMiLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIyZThcdWNkOTVcdWQwYTQgXHVjOWMwXHVjODE1IiwiZGVzY3JpcHRpb24iOiI8cD5cdWQ1NWNcdWFlMDAgXHVkNTA0XHViODVjXHVhZGY4XHViN2E4XHVjNzU4IFx1YmE1NFx1YjI3NFx1YzVkMFx1YjI5NCBcdWNkMWQgTlx1YWMxY1x1Yzc1OCBcdWM2MzVcdWMxNThcdWM3NzQgXHVjNzg4XHViMmU0LiBcdWFjMDEgXHVjNjM1XHVjMTU4XHViNGU0XHVjNzQwIFx1ZDU1YyBcdWFjMWMgXHViNjEwXHViMjk0IFx1YzVlY1x1YjdlYyBcdWFjMWNcdWM3NTggXHViMmU4XHVjNWI0XHViODVjIFx1YzYzNVx1YzE1OFx1Yzc1OCBcdWFlMzBcdWIyYTVcdWM3NDQgXHVjMTI0XHViYTg1XHVkNTU4XHVjNWVjIFx1YjE5M1x1YzU1OFx1YjJlNC4gXHVhZGY4XHViOWFjXHVhY2UwIFx1YzZiMFx1YjlhY1x1YjI5NCBcdWM3MDRcdWM1ZDBcdWMxMWNcdWJkODBcdWQxMzAgXHVjYzI4XHViODQwXHViMzAwXHViODVjIFx1YWMwMSBcdWM2MzVcdWMxNThcdWM1ZDAgXHViMmU4XHVjZDk1XHVkMGE0XHViOTdjIFx1Yzc1OFx1YmJmOFx1ZDU1OFx1YjI5NCBcdWIzMDBcdWQ0NWMgXHVjNTRjXHVkMzBjXHViY2IzXHVjNzQ0IFx1YzljMFx1YzgxNVx1ZDU1OFx1YWUzMFx1Yjg1YyBcdWQ1NThcdWM2MDBcdWIyZTQuIFx1YjJlOFx1Y2Q5NVx1ZDBhNFx1Yjk3YyBcdWM5YzBcdWM4MTVcdWQ1NThcdWIyOTQgXHViYzk1XHVjNzQwIFx1YzU0NFx1Yjc5OFx1Yzc1OCBcdWMyMWNcdWMxMWNcdWI5N2MgXHViNTMwXHViOTc4XHViMmU0LjxcL3A+XHJcblxyXG48b2w+XHJcblx0PGxpPlx1YmEzY1x1YzgwMCBcdWQ1NThcdWIwOThcdWM3NTggXHVjNjM1XHVjMTU4XHVjNWQwIFx1YjMwMFx1ZDU3NCBcdWM2N2NcdWNhYmRcdWM1ZDBcdWMxMWNcdWJkODBcdWQxMzAgXHVjNjI0XHViOTc4XHVjYWJkIFx1YzIxY1x1YzExY1x1Yjg1YyBcdWIyZThcdWM1YjRcdWM3NTggXHVjY2FiIFx1YWUwMFx1Yzc5MFx1YWMwMCBcdWM3NzRcdWJiZjggXHViMmU4XHVjZDk1XHVkMGE0XHViODVjIFx1YzljMFx1YzgxNVx1YjQxOFx1YzVjOFx1YjI5NFx1YzljMCBcdWMwYjRcdWQzYjRcdWJjZjhcdWIyZTQuIFx1YjljY1x1YzU3ZCBcdWIyZThcdWNkOTVcdWQwYTRcdWI4NWMgXHVjNTQ0XHVjOWMxIFx1YzljMFx1YzgxNVx1Yzc3NCBcdWM1NDggXHViNDE4XHVjNWI0XHVjNzg4XHViMmU0XHViYTc0IFx1YWRmOCBcdWM1NGNcdWQzMGNcdWJjYjNcdWM3NDQgXHViMmU4XHVjZDk1XHVkMGE0XHViODVjIFx1YzljMFx1YzgxNVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHViOWNjXHVjNTdkIFx1YmFhOFx1YjRlMCBcdWIyZThcdWM1YjRcdWM3NTggXHVjY2FiIFx1YWUwMFx1Yzc5MFx1YWMwMCBcdWM3NzRcdWJiZjggXHVjOWMwXHVjODE1XHVjNzc0IFx1YjQxOFx1YzViNFx1Yzc4OFx1YjJlNFx1YmE3NCBcdWM2N2NcdWNhYmRcdWM1ZDBcdWMxMWNcdWJkODBcdWQxMzAgXHVjYzI4XHViODQwXHViMzAwXHViODVjIFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc0NCBcdWJjZjRcdWJhNzRcdWMxMWMgXHViMmU4XHVjZDk1XHVkMGE0XHViODVjIFx1YzljMFx1YzgxNSBcdWM1NDggXHViNDFjIFx1YWM4M1x1Yzc3NCBcdWM3ODhcdWIyZTRcdWJhNzQgXHViMmU4XHVjZDk1XHVkMGE0XHViODVjIFx1YzljMFx1YzgxNVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjNWI0XHViNWEwXHVkNTVjIFx1YWM4M1x1YjNjNCBcdWIyZThcdWNkOTVcdWQwYTRcdWI4NWMgXHVjOWMwXHVjODE1XHVkNTYwIFx1YzIxOCBcdWM1YzZcdWIyZTRcdWJhNzQgXHVhZGY4XHViMGU1IFx1YjE5NFx1YjQ1MFx1YmE3MCBcdWIzMDBcdWMxOGNcdWJiMzhcdWM3OTBcdWI5N2MgXHVhZDZjXHViZDg0XHVjZTU4IFx1YzU0YVx1YjI5NFx1YjJlNC48XC9saT5cclxuXHQ8bGk+XHVjNzA0XHVjNzU4IFx1YWRkY1x1Y2U1OVx1Yzc0NCBcdWNjYWIgXHViYzg4XHVjOWY4IFx1YzYzNVx1YzE1OFx1YmQ4MFx1ZDEzMCBOXHViYzg4XHVjOWY4IFx1YzYzNVx1YzE1OFx1YWU0Y1x1YzljMCBcdWNjMjhcdWI4NDBcdWIzMDBcdWI4NWMgXHVjODAxXHVjNmE5XHVkNTVjXHViMmU0LjxcL2xpPlxyXG48XC9vbD5cclxuIiwiaW5wdXQiOiI8cD5cdWNjYWJcdWM5ZjggXHVjOTA0XHVjNWQwIFx1YzYzNVx1YzE1OFx1Yzc1OCBcdWFjMWNcdWMyMTggTigxICZsZTsgTiAmbGU7IDMwKVx1Yzc3NCBcdWM4ZmNcdWM1YjRcdWM5YzRcdWIyZTQuIFx1YjQ1OFx1YzlmOCBcdWM5MDRcdWJkODBcdWQxMzAgTisxXHViYzg4XHVjOWY4IFx1YzkwNFx1YWU0Y1x1YzljMCBcdWFjMDEgXHVjOTA0XHVjNWQwIFx1YzYzNVx1YzE1OFx1Yzc0NCBcdWIwOThcdWQwYzBcdWIwYjRcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1Yzc4NVx1YjgyNVx1YjQxOFx1YjI5NFx1YjM3MCBcdWQ1NThcdWIwOThcdWM3NTggXHVjNjM1XHVjMTU4XHVjNzQwIDVcdWFjMWMgXHVjNzc0XHVkNTU4XHVjNzU4IFx1YjJlOFx1YzViNFx1Yjg1YyBcdWQ0NWNcdWQ2MDRcdWI0MThcdWJhNzAsIFx1YWMwMSBcdWIyZThcdWM1YjQgXHVjNWVkXHVjMmRjIDEwXHVhYzFjIFx1Yzc3NFx1ZDU1OFx1Yzc1OCBcdWM1NGNcdWQzMGNcdWJjYjNcdWM3M2NcdWI4NWMgXHVkNDVjXHVkNjA0XHViNDFjXHViMmU0LiBcdWIyZThcdWM1YjRcdWIyOTQgXHVhY2Y1XHViYzMxIFx1ZDU1YyBcdWNlNzhcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDE4XHVjNWI0XHVjODM4IFx1Yzc4OFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5OXHVhYzFjXHVjNzU4IFx1YzkwNFx1YzVkMCBcdWFjMDEgXHVjNjM1XHVjMTU4XHVjNzQ0IFx1Y2Q5Y1x1YjgyNVx1ZDU1OFx1YjI5NFx1YjM3MCBcdWIyZThcdWNkOTVcdWQwYTRcdWI4NWMgXHVjOWMwXHVjODE1XHViNDFjIFx1YzU0Y1x1ZDMwY1x1YmNiM1x1Yzc0MCBcdWM4OGNcdWM2YjBcdWM1ZDAgPGNvZGU+W108XC9jb2RlPiBcdWFkMDRcdWQ2MzhcdWI5N2MgXHVjNTBjXHVjNmNjXHVjMTFjIFx1ZDQ1Y1x1ZDYwNFx1ZDU1Y1x1YjJlNC48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIwIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJLb3JlYW4ifSx7InByb2JsZW1faWQiOiIxMjgzIiwicHJvYmxlbV9sYW5nIjoiMSIsInRpdGxlIjoiSVpCT1JOSUsiLCJkZXNjcmlwdGlvbiI6IjxwPlRoZSBtZW51IGluIGEgY29tcHV0ZXIgcHJvZ3JhbSBjb250YWlucyBOIG9wdGlvbnMuIEVhY2ggb3B0aW9uIGlzIGRlc2NyaWJlZCBieSBvbmUgb3IgbW9yZSB3b3Jkcy4mbmJzcDs8XC9wPlxyXG5cclxuPHA+RWFjaCBvcHRpb24gaW4gdGhlIG1lbnUsIGluIG9yZGVyIGZyb20gZmlyc3QgdG8gbGFzdCwgaXMgYXNzaWduZWQgYSBzaG9ydGN1dCAmbmRhc2g7IG9uZSBvZiB0aGUgbGV0dGVycyBpbiBpdHMgZGVzY3JpcHRpb24uIFRoZSBydWxlcyBmb3IgYXNzaWduaW5nIHRoZSBzaG9ydGN1dCBhcmU6Jm5ic3A7PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+Rmlyc3QgY29uc2lkZXIgdGhlIGluaXRpYWwgbGV0dGVycyBvZiBhbGwgd29yZHMgaW4gdGhlIGRlc2NyaXB0aW9uLCBpbiBvcmRlciBmcm9tIGZpcnN0IHRvIGxhc3QuIFRoZSBmaXJzdCBzdWNoIGluaXRpYWwgbGV0dGVyIG5vdCBhbHJlYWR5IHRvIGFub3RoZXIgb3B0aW9uIGlzIHNlbGVjdGVkIChubyB0d28gb3B0aW9ucyBtYXkgaGF2ZSB0aGUgc2FtZSBzaG9ydGN1dCkuJm5ic3A7PFwvbGk+XHJcblx0PGxpPklmIGFsbCBpbml0aWFsIGxldHRlcnMgYXJlIGFscmVhZHkgYXNzaWduZWQsIHRoZW4gY29uc2lkZXIgYWxsIHJlbWFpbmluZyBsZXR0ZXJzIGluIHRoZSBkZXNjcmlwdGlvbiBpbiBvcmRlciwgYWdhaW4gY2hvb3NpbmcgdGhlIGZpcnN0IGF2YWlsYWJsZSBsZXR0ZXIuJm5ic3A7PFwvbGk+XHJcblx0PGxpPklmIG5vbmUgb2YgdGhlIGxldHRlcnMgaW4gdGhlIGRlc2NyaXB0aW9uIGFyZSBhdmFpbGFibGUsIHRoZW4gdGhlIG9wdGlvbiBoYXMgbm8gc2hvcnRjdXQuJm5ic3A7PFwvbGk+XHJcblx0PGxpPlRoZSBwcm9jZXNzIGlzIG5vdCBjYXNlIHNlbnNpdGl2ZTsgbG93ZXJjYXNlIGFuZCB1cHBlcmNhc2UgbGV0dGVycyBhcmUgY29uc2lkZXJlZCB0aGUgc2FtZS4mbmJzcDs8XC9saT5cclxuPFwvdWw+XHJcblxyXG48cD5Xcml0ZSBhIHByb2dyYW0gd2hpY2gsIGdpdmVuIHRoZSBkZXNjcmlwdGlvbnMgb2YgYWxsIG9wdGlvbnMsIGRldGVybWluZXMgdGhlIHNob3J0Y3V0cy4mbmJzcDs8XC9wPlxyXG4iLCJpbnB1dCI6IjxwPlRoZSBmaXJzdCBsaW5lIGNvbnRhaW5zIHRoZSBpbnRlZ2VyIE4gKDEgJmxlOyBOICZsZTsgMzApLCB0aGUgbnVtYmVyIG9mIG9wdGlvbnMgaW4gdGhlIG1lbnUuJm5ic3A7PFwvcD5cclxuXHJcbjxwPkVhY2ggb2YgdGhlIGZvbGxvd2luZyBOIGxpbmVzIGNvbnRhaW5zIHRoZSBkZXNjcmlwdGlvbiBvZiBvbmUgb3B0aW9uLCBhIHNlcXVlbmNlIG9mIGF0IG1vc3QgNSB3b3JkcyBzZXBhcmF0ZWQgYnkgc2luZ2xlIHNwYWNlcy4gRWFjaCB3b3JkIHdpbGwgY29udGFpbiBhdCBtb3N0IDEwIGxldHRlcnMgb2YgdGhlIEVuZ2xpc2ggYWxwaGFiZXQuJm5ic3A7PFwvcD5cclxuIiwib3V0cHV0IjoiPHA+Rm9yIGVhY2ggb3B0aW9uLCBpbiB0aGUgc2FtZSBvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgZ2l2ZW4sIG91dHB1dCBpdHMgZGVzY3JpcHRpb24gd2l0aCB0aGUgc2hvcnRjdXQgbGV0dGVyIHN1cnJvdW5kZWQgYnkgYnJhY2tldHMuIElmIGFuIG9wdGlvbiBpcyBub3QgYXNzaWduZWQgYSBzaG9ydGN1dCwgb3V0cHV0IGl0cyBkZXNjcmlwdGlvbiB1bmNoYW5nZWQuJm5ic3A7PFwvcD5cclxuXHJcbjxwPlRoZSBjYXNlIG9mIGFsbCBsZXR0ZXJzIG11c3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIGlucHV0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjEiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IkVuZ2xpc2gifV0=