본문 바로가기
Coding Test/Softeer

[Softeer 연습문제] Lv2. GPT식 숫자 비교 (python)

by JUNG씨 2025. 2. 7.

[Softeer 연습문제] Lv2. GPT식 숫자 비교 (python)

 

문제확인 : https://softeer.ai/practice/11001

 

Softeer - 현대자동차그룹 SW인재확보플랫폼

 

softeer.ai

 

🔍 정렬 문제

GPT 식 정렬방식을 함수로 구현해서 sort() 함수의 key= 에 인자로 전달해서 정렬을 진행.

1. 소수점 왼쪽의 숫자를 x, 소수점 오른쪽의 숫자를 y라고 정의
2. x 값이 더 작으면 더 작은 수
3. x값이 같을 경우 y값이 더 작으면 작은수
4. 소수점이 없는 경우는 같은 수의 소수점이 있는 경우보다 작게 취급(소수점이 없으면 y값이 0으로 간주된다)

5. 소수점이 없는 경우는 y값을 -1로 설정

 

💡 소스코드

import sys

def sort_number(number):
    if "." in number:
        x, y = number.split(".")
        return int(x), int(y) # 소수점 뒤도 정수로 변환
    else:
        return int(number), -1 # 소수점이 없으면 y값을 -1로 처리
        
N = int(input())

numbers = [input().strip() for _ in range(N)]
numbers.sort(key=sort_number)

for number in numbers:
    print(number)