연습문제
GPT식 숫자 비교
- 난이도
- Lv. 2
- 제출
- 368 명
- 참가자
- 213 명
- 정답률
- 61.11 %
- 지원 언어
-
CC++JavaPythonRust
로그인 후 문제풀이가 가능합니다.
언어별 시간/메모리
언어 | 시간 | 메모리 |
---|---|---|
C++ | 1초 | 1024MB |
C | 1초 | 1024MB |
Java | 1초 | 1024MB |
Python | 1초 | 1024MB |
Rust | 1초 | 1024MB |
얼마 전 GPT의 실수 비교 방식이 화제가 된 적이 있었다.
질문) "3.9
와 3.11
중에 뭐가 더 커?" / 답변) "3.11
이 더 큽니다."
수학 시간에 졸지 않은 사람들은 가 보다 크다고 생각하지만, GPT의 눈으로 보면 Python 3.9
와 Python 3.11
중 후자를 더 크게 보는 학습 데이터가 많아 저렇게 생각할 수 있다. GPT의 세상에서 3.1
은 3
보다 크고, 마찬가지로 3.9
는 3.2
보다 크지만, 3.10
은 3.2
보다 큰 값으로 처리된다.
구체적으로, 소수점을 기준으로 왼쪽을 수로 읽은 값을 , 오른쪽을 수로 읽은 값을 라고 할 때 두 수의 비교가 다음과 같이 이루어진다:
- 값이 더 작으면 더 작은 수이다.
- 값이 같을 경우 값이 더 작으면 더 작은 수이다.
- 소수점이 없는 경우는 같은 수의 소수점이 있는 경우보다 항상 작게 취급된다. (다시 말해, GPT에게
3
은3.0
보다 작다.)
개의 수들이 주어졌을 때, 이를 GPT의 기준에 따라 비내림차순으로 정렬해보자.
제약조건
[문제 제약 조건]
[조건 1] 은 이상 이하이다.
[조건 2] 각 수는 실수 혹은 정수로 표현되고, 이상 이하이며, 소수점이 없거나 소수점 아래 최대 3자리까지 주어진다.
[서브 태스크별 제약 조건]
별도의 서브 태스크가 존재하지 않습니다.
입력형식
첫 번째 줄에 이 주어진다.
두 번째 줄부터 개의 줄에 걸쳐, 각 수가 한 줄에 하나씩 주어진다.
01.23
, 3.001
과 같이 소수점을 기준으로 각 파트의 이 아닌 수 이전에 leading zero가 나오는 경우는 주어지지 않는다.
추가로, 3.00
, 3.000
, 또는 00.1
과 같이 소수점을 기준으로 한 파트에 두 개 이상의 0
만 주어지는 입력은 없다.
출력형식
첫 번째 줄부터 개의 줄에 걸쳐, 입력으로 주어진 수들을 GPT의 기준으로 비내림차순으로 정렬한 순서대로 한 줄에 하나씩 출력한다.
입력예제1
5 1.2 1.11 2.9 4.2 3
출력예제1
1.2 1.11 2.9 3 4.2
1.2
와 1.11
의 순서에 유의해 출력하면 된다.
입력예제2
8 1 1.0 2.0 2.10 2.1 2.100 1.11 1.3
출력예제2
1 1.0 1.3 1.11 2.0 2.1 2.10 2.100
2.1
, 2.10
, 2.100
은 실제 수 체계에서는 모두 같은 값이지만, GPT의 기준으로는 다르다는 점에 유의해야 한다.