시간 제한메모리 제한제출정답맞힌 사람정답 비율
1 초 128 MB207161417.284%

문제

평범한 방식으로 정렬을 하면, 숫자가 섞여 있는 문자열(string)은 원하는대로 잘 정렬되지 않는다. 예를 들면, xyz100은 xyz2에 앞서는 식으로 말이다. 어떤 프로그램에서는 문자열에 있는 숫자를 숫자로만 취급하여 정렬하는 '노말 정렬'을 사용한다. 다음은 노말 정렬된 예이다.

XYZ001, XYZ2, XYZ003, XYZ08, XYZ23, XYZ100, XYZQ

우리는 노말 정렬을 다음과 같은 두 가지 방법으로 확장하고자 한다.

  1. 대소문자는 구분하지 않고 정렬한다. (대문자 취급)
  2. +,- 부호가 숫자 뒤에 등장하지 않으며, 숫자보다 앞에 등장하면 다음에 나오는 숫자의 일부라고 생각한다.

예를 들면 123+456+7890은 3개의 숫자가 + 부호로 구분되어 있는 것이고, A+003은 A3과 같다.

우리의 정렬을 하려면, (라이브러리 정렬 방식을 사용하지만) 비교 방법은 따로 작성해야 한다. 비교하는 부분을 작성하시오 (두 개의 출력가능한 공백이 없는 ASCII 문자 36~126를 입력으로 받는다)

리턴값은 다음과 같다

  • -1 : 첫 번째 문자열이 두 번째 문자열보다 앞서는 경우
  • 0: 두 문자열이 같은 순서인 경우
  • 1: 두 번째 문자열이 첫 번째 문자열보다 앞서는 경우

입력

첫째 줄은 데이터 세트 수 N(1 ≤ N ≤ 1000)이 입력으로 들어온다. 각각의 데이터 세트는 한 줄로 구성되어 있으며, 공백으로 구분된 비교할 두 개의 문자열이다.

출력

각각의 데이터 세트에 대해, -1, 0, 1 중 하나의 값을 공백으로 구분하여 한 줄 씩 출력한다.

예제 입력 1

5
x-3 X0001
123-456-7890 123+456+7890
xYz000123J XyZ+123j
#$%^&*[]- abcdefgh
Abc47jKL+00123 ABC+47jkL123

예제 출력 1

-1
1
0
-1
0
W3sicHJvYmxlbV9pZCI6IjI3MDciLCJwcm9ibGVtX2xhbmciOiIwIiwidGl0bGUiOiJcdWIxNzhcdWI5ZDAgXHVjODE1XHViODJjIiwiZGVzY3JpcHRpb24iOiI8cD5cdWQzYzlcdWJjOTRcdWQ1NWMgXHViYzI5XHVjMmRkXHVjNzNjXHViODVjIFx1YzgxNVx1YjgyY1x1Yzc0NCBcdWQ1NThcdWJhNzQsIFx1YzIyYlx1Yzc5MFx1YWMwMCBcdWMxMWVcdWM1ZWMgXHVjNzg4XHViMjk0IFx1YmIzOFx1Yzc5MFx1YzVmNChzdHJpbmcpXHVjNzQwIFx1YzZkMFx1ZDU1OFx1YjI5NFx1YjMwMFx1Yjg1YyBcdWM3OTggXHVjODE1XHViODJjXHViNDE4XHVjOWMwIFx1YzU0YVx1YjI5NFx1YjJlNC4gXHVjNjA4XHViOTdjIFx1YjRlNFx1YmE3NCwgeHl6MTAwXHVjNzQwIHh5ejJcdWM1ZDAgXHVjNTVlXHVjMTFjXHViMjk0IFx1YzJkZFx1YzczY1x1Yjg1YyBcdWI5ZDBcdWM3NzRcdWIyZTQuIFx1YzViNFx1YjVhNCBcdWQ1MDRcdWI4NWNcdWFkZjhcdWI3YThcdWM1ZDBcdWMxMWNcdWIyOTQgXHViYjM4XHVjNzkwXHVjNWY0XHVjNWQwIFx1Yzc4OFx1YjI5NCBcdWMyMmJcdWM3OTBcdWI5N2MgXHVjMjJiXHVjNzkwXHViODVjXHViOWNjIFx1Y2RlOFx1YWUwOVx1ZDU1OFx1YzVlYyBcdWM4MTVcdWI4MmNcdWQ1NThcdWIyOTQgJiMzOTtcdWIxNzhcdWI5ZDAgXHVjODE1XHViODJjJiMzOTtcdWM3NDQgXHVjMGFjXHVjNmE5XHVkNTVjXHViMmU0LiBcdWIyZTRcdWM3NGNcdWM3NDAgXHViMTc4XHViOWQwIFx1YzgxNVx1YjgyY1x1YjQxYyBcdWM2MDhcdWM3NzRcdWIyZTQuPFwvcD5cclxuXHJcbjxwPlhZWjAwMSwgWFlaMiwgWFlaMDAzLCBYWVowOCwgWFlaMjMsIFhZWjEwMCwgWFlaUTxcL3A+XHJcblxyXG48cD5cdWM2YjBcdWI5YWNcdWIyOTQgXHViMTc4XHViOWQwIFx1YzgxNVx1YjgyY1x1Yzc0NCBcdWIyZTRcdWM3NGNcdWFjZmMgXHVhYzE5XHVjNzQwIFx1YjQ1MCBcdWFjMDBcdWM5YzAgXHViYzI5XHViYzk1XHVjNzNjXHViODVjIFx1ZDY1NVx1YzdhNVx1ZDU1OFx1YWNlMFx1Yzc5MCBcdWQ1NWNcdWIyZTQuPFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+XHViMzAwXHVjMThjXHViYjM4XHVjNzkwXHViMjk0IFx1YWQ2Y1x1YmQ4NFx1ZDU1OFx1YzljMCBcdWM1NGFcdWFjZTAgXHVjODE1XHViODJjXHVkNTVjXHViMmU0LiAoXHViMzAwXHViYjM4XHVjNzkwIFx1Y2RlOFx1YWUwOSk8XC9saT5cclxuXHQ8bGk+KywtIFx1YmQ4MFx1ZDYzOFx1YWMwMCBcdWMyMmJcdWM3OTAgXHViNGE0XHVjNWQwIFx1YjRmMVx1YzdhNVx1ZDU1OFx1YzljMCBcdWM1NGFcdWM3M2NcdWJhNzAsIFx1YzIyYlx1Yzc5MFx1YmNmNFx1YjJlNCBcdWM1NWVcdWM1ZDAgXHViNGYxXHVjN2E1XHVkNTU4XHViYTc0Jm5ic3A7XHViMmU0XHVjNzRjXHVjNWQwIFx1YjA5OFx1YzYyNFx1YjI5NCBcdWMyMmJcdWM3OTBcdWM3NTggXHVjNzdjXHViZDgwXHViNzdjXHVhY2UwIFx1YzBkZFx1YWMwMVx1ZDU1Y1x1YjJlNC48XC9saT5cclxuPFwvb2w+XHJcblxyXG48cD5cdWM2MDhcdWI5N2MgXHViNGU0XHViYTc0IDEyMys0NTYrNzg5MFx1Yzc0MCAzXHVhYzFjXHVjNzU4IFx1YzIyYlx1Yzc5MFx1YWMwMCArIFx1YmQ4MFx1ZDYzOFx1Yjg1YyBcdWFkNmNcdWJkODRcdWI0MThcdWM1YjQgXHVjNzg4XHViMjk0IFx1YWM4M1x1Yzc3NFx1YWNlMCwgQSswMDNcdWM3NDAgQTNcdWFjZmMgXHVhYzE5XHViMmU0LjxcL3A+XHJcblxyXG48cD5cdWM2YjBcdWI5YWNcdWM3NTggXHVjODE1XHViODJjXHVjNzQ0IFx1ZDU1OFx1YjgyNFx1YmE3NCwgKFx1Yjc3Y1x1Yzc3NFx1YmUwY1x1YjdlY1x1YjlhYyBcdWM4MTVcdWI4MmMgXHViYzI5XHVjMmRkXHVjNzQ0IFx1YzBhY1x1YzZhOVx1ZDU1OFx1YzljMFx1YjljYykgXHViZTQ0XHVhZDUwIFx1YmMyOVx1YmM5NVx1Yzc0MCBcdWI1MzBcdWI4NWMgXHVjNzkxXHVjMTMxXHVkNTc0XHVjNTdjIFx1ZDU1Y1x1YjJlNC4gXHViZTQ0XHVhZDUwXHVkNTU4XHViMjk0IFx1YmQ4MFx1YmQ4NFx1Yzc0NCBcdWM3OTFcdWMxMzFcdWQ1NThcdWMyZGNcdWM2MjQgKFx1YjQ1MCBcdWFjMWNcdWM3NTggXHVjZDljXHViODI1XHVhYzAwXHViMmE1XHVkNTVjIFx1YWNmNVx1YmMzMVx1Yzc3NCBcdWM1YzZcdWIyOTQgQVNDSUkgXHViYjM4XHVjNzkwIDM2fjEyNlx1Yjk3YyBcdWM3ODVcdWI4MjVcdWM3M2NcdWI4NWMgXHViYzFiXHViMjk0XHViMmU0KTxcL3A+XHJcblxyXG48cD5cdWI5YWNcdWQxMzRcdWFjMTJcdWM3NDAgXHViMmU0XHVjNzRjXHVhY2ZjIFx1YWMxOVx1YjJlNDxcL3A+XHJcblxyXG48dWw+XHJcblx0PGxpPi0xIDogXHVjY2FiIFx1YmM4OFx1YzlmOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWM3NzQgXHViNDUwIFx1YmM4OFx1YzlmOCBcdWJiMzhcdWM3OTBcdWM1ZjRcdWJjZjRcdWIyZTQgXHVjNTVlXHVjMTFjXHViMjk0IFx1YWNiZFx1YzZiMDxcL2xpPlxyXG5cdDxsaT4wOiBcdWI0NTAgXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1YWMxOVx1Yzc0MCBcdWMyMWNcdWMxMWNcdWM3NzggXHVhY2JkXHVjNmIwPFwvbGk+XHJcblx0PGxpPjE6IFx1YjQ1MCBcdWJjODhcdWM5ZjggXHViYjM4XHVjNzkwXHVjNWY0XHVjNzc0IFx1Y2NhYiBcdWJjODhcdWM5ZjggXHViYjM4XHVjNzkwXHVjNWY0XHViY2Y0XHViMmU0IFx1YzU1ZVx1YzExY1x1YjI5NCBcdWFjYmRcdWM2YjA8XC9saT5cclxuPFwvdWw+XHJcbiIsImlucHV0IjoiPHA+XHVjY2FiXHVjOWY4IFx1YzkwNFx1Yzc0MCBcdWIzNzBcdWM3NzRcdWQxMzAgXHVjMTM4XHVkMmI4IFx1YzIxOCBOKDEgJmxlOyBOICZsZTsgMTAwMClcdWM3NzQgXHVjNzg1XHViODI1XHVjNzNjXHViODVjIFx1YjRlNFx1YzViNFx1YzYyOFx1YjJlNC4gXHVhYzAxXHVhYzAxXHVjNzU4IFx1YjM3MFx1Yzc3NFx1ZDEzMCBcdWMxMzhcdWQyYjhcdWIyOTQgXHVkNTVjIFx1YzkwNFx1Yjg1YyBcdWFkNmNcdWMxMzFcdWI0MThcdWM1YjQgXHVjNzg4XHVjNzNjXHViYTcwLCBcdWFjZjVcdWJjMzFcdWM3M2NcdWI4NWMgXHVhZDZjXHViZDg0XHViNDFjIFx1YmU0NFx1YWQ1MFx1ZDU2MCBcdWI0NTAgXHVhYzFjXHVjNzU4IFx1YmIzOFx1Yzc5MFx1YzVmNFx1Yzc3NFx1YjJlNC48XC9wPlxyXG4iLCJvdXRwdXQiOiI8cD5cdWFjMDFcdWFjMDFcdWM3NTggXHViMzcwXHVjNzc0XHVkMTMwIFx1YzEzOFx1ZDJiOFx1YzVkMCBcdWIzMDBcdWQ1NzQsIC0xLCAwLCAxIFx1YzkxMSBcdWQ1NThcdWIwOThcdWM3NTggXHVhYzEyXHVjNzQ0IFx1YWNmNVx1YmMzMVx1YzczY1x1Yjg1YyBcdWFkNmNcdWJkODRcdWQ1NThcdWM1ZWMgXHVkNTVjIFx1YzkwNCBcdWM1MjkgXHVjZDljXHViODI1XHVkNTVjXHViMmU0LjxcL3A+XHJcbiIsImhpbnQiOiIiLCJvcmlnaW5hbCI6IjAiLCJodG1sX3RpdGxlIjoiMCIsInByb2JsZW1fbGFuZ190Y29kZSI6IktvcmVhbiJ9LHsicHJvYmxlbV9pZCI6IjI3MDciLCJwcm9ibGVtX2xhbmciOiIxIiwidGl0bGUiOiJFeHRlbmRlZCBOb3JtYWwgT3JkZXIgU29ydCIsImRlc2NyaXB0aW9uIjoiPHA+V2hlbiBzb3J0ZWQgaW4gc3RhbmRhcmQgb3JkZXIsIHN0cmluZ3Mgd2l0aCBkaWdpdHMgaW4gdGhlbSBtYXkgbm90IHNvcnQgdG8gd2hlcmUgdGhleSBhcmUgZXhwZWN0ZWQuIEZvciBpbnN0YW5jZSwgeHl6MTAwIHByZWNlZGVzIHh5ejIuIEluIHNvbWUgYXBwbGljYXRpb25zIHN1Y2ggYXMgbGlzdGluZyBmaWxlcywgbm9ybWFsIG9yZGVyIHNvcnRtYXkgYmUgdXNlZCB3aGVyZSBhbnkgc3RyaW5nIG9mIGRpZ2l0cyBpbiBhIGNoYXJhY3RlciBzdHJpbmcgaXMgdHJlYXRlZCBhcyBhIHNpbmdsZSBkaWdpdCB3aXRoIG51bWVyaWNhbCB2YWx1ZSBnaXZlbiBieSB0aGUgZGlnaXQgc3RyaW5nLiBGb3IgZXhhbXBsZSwgdGhlIGZvbGxvd2luZyBhcmUgaW4gbm9ybWFsIG9yZGVyOjxcL3A+XHJcblxyXG48cD5YWVowMDEsIFhZWjIsIFhZWjAwMywgWFlaMDgsIFhZWjIzLCBYWVoxMDAsIFhZWlE8XC9wPlxyXG5cclxuPHA+V2Ugd2lzaCB0byBleHRlbmQgbm9ybWFsIG9yZGVyIHNvcnQgaW4gdHdvIHdheXM6PFwvcD5cclxuXHJcbjxvbD5cclxuXHQ8bGk+TG93ZXIgY2FzZSBhbmQgdXBwZXIgY2FzZSBsZXR0ZXJzIHNvcnQgdGhlIHNhbWUgKHdpdGggdGhlIHVwcGVyIGNhc2UgdmFsdWUpLjxcL2xpPlxyXG5cdDxsaT5JZiBhIHBsdXMgKCspIG9yIG1pbnVzICgtKSBzaWduIHByZWNlZGVzIGEgZGlnaXQgYW5kIGRvZXMgbm90IGZvbGxvdyBhIGRpZ2l0LCBpdCBpcyBjb25zaWRlcmVkIHBhcnQgb2YgdGhlIGZvbGxvd2luZyBudW1iZXIgZm9yIHNvcnRpbmcgcHVycG9zZXMuPFwvbGk+XHJcbjxcL29sPlxyXG5cclxuPHA+U28gMTIzKzQ1Nis3ODkwIGFyZSB0aHJlZSBudW1iZXJzIHNlcGFyYXRlZCBieSBwbHVzIHNpZ25zIGJ1dCBBKzAwMyBpcyB0aGUgc2FtZSBhcyBBMy48XC9wPlxyXG5cclxuPHA+VG8gZG8gb3VyIHNvcnQsIHdlIHdpbGwgdXNlIGEgbGlicmFyeSBzb3J0IHJvdXRpbmUgYnV0IHdlIG5lZWQgdG8gZnVybmlzaCBhIGNvbXBhcmlzb24gcm91dGluZS4gV3JpdGUgYSBjb21wYXJpc29uIHJvdXRpbmUgd2hpY2ggdGFrZXMgYXMgaW5wdXQgdHdvIHN0cmluZ3Mgb2YgcHJpbnRhYmxlLCBub24tc3BhY2UgQVNDSUkgY2hhcmFjdGVycyAoY2hyKDMzKS1jaHIoMTI2KSkgYW5kIHJldHVybnM6PFwvcD5cclxuXHJcbjx1bD5cclxuXHQ8bGk+LTEgaWYgdGhlIGZpcnN0IHN0cmluZyBzaG91bGQgcHJlY2VkZSB0aGUgc2Vjb25kIGluIGV4dGVuZGVkIG5vcm1hbCBvcmRlcjxcL2xpPlxyXG5cdDxsaT4wIGl0IHRoZSB0d28gc3RyaW5ncyBhcmUgdGhlIHNhbWUgaW4gZXh0ZW5kZWQgbm9ybWFsIG9yZGVyLCBvcjxcL2xpPlxyXG5cdDxsaT4xIGlmIHRoZSBmaXJzdCBzdHJpbmcgc2hvdWxkIGZvbGxvdyB0aGUgc2Vjb25kIGluIGV4dGVuZGVkIG5vcm1hbCBvcmRlci48XC9saT5cclxuPFwvdWw+XHJcbiIsImlucHV0IjoiPHA+VGhlIGZpcnN0IGxpbmUgb2YgaW5wdXQgY29udGFpbnMgYSBzaW5nbGUgaW50ZWdlciBOLCAoMSAmbGU7IE4gJmxlOyAxMDAwKSB3aGljaCBpcyB0aGUgbnVtYmVyIG9mIGRhdGEgc2V0cyB0aGF0IGZvbGxvdy4gRWFjaCBkYXRhIHNldCBjb25zaXN0cyBvZiBhIHNpbmdsZSBsaW5lIG9mIGlucHV0IGNvbnRhaW5pbmcgdGhlIHR3byBzdHJpbmdzIHRvIGJlIGNvbXBhcmVkIHNlcGFyYXRlZCBieSBhIHNwYWNlLjxcL3A+XHJcbiIsIm91dHB1dCI6IjxwPkZvciBlYWNoIGRhdGEgc2V0LCB5b3Ugc2hvdWxkIGdlbmVyYXRlIG9uZSBsaW5lIG9mIG91dHB1dCB3aXRoIHRoZSBmb2xsb3dpbmcgdmFsdWVzOiBUaGUgZGF0YSBzZXQgbnVtYmVyIGFzIGEgZGVjaW1hbCBpbnRlZ2VyIChzdGFydCBjb3VudGluZyBhdCBvbmUpLCBhIHNwYWNlIGFuZCAmbmRhc2g7MSwgMCBvciAxIGRlcGVuZGluZyBvbiB3aGV0aGVyIHRoZSBmaXJzdCBzdHJpbmcgcHJlY2VkZXMsIGlzIHRoZSBzYW1lIGFzLCBvciBmb2xsb3dzIHRoZSBzZWNvbmQgc3RyaW5nIGluIGV4dGVuZGVkIG5vcm1hbCBvcmRlci48XC9wPlxyXG4iLCJoaW50IjoiIiwib3JpZ2luYWwiOiIxIiwiaHRtbF90aXRsZSI6IjAiLCJwcm9ibGVtX2xhbmdfdGNvZGUiOiJFbmdsaXNoIn1d

출처

ICPC > Regionals > North America > Greater New York Region > 2008 Greater New York Programming Contest F번