1431번: 시리얼 번호

Mkim4·2023년 9월 26일
0

1431번:시리얼 번호

n = int(input())
input_list = []
number_list = [0] * n
for i in range(n):
    input_list.append(input())

for i in range(n):
    small_string = input_list[i]
    j = len(small_string)
    sum = 0
    for h in range(j):
        if small_string[h] >= '1' and small_string[h] <= '9':
            sum += int(small_string[h])
    number_list[i] = sum

for i in range(0,n-1):
    for j in range(i+1, n):
        if len(input_list[i]) > len(input_list[j]):
            number_list[i],number_list[j] = number_list[j],number_list[i]
            input_list[i],input_list[j] = input_list[j], input_list[i]
        elif len(input_list[i]) == len(input_list[j]):
            if number_list[i] > number_list[j]:
                number_list[i],number_list[j] = number_list[j],number_list[i]
                input_list[i],input_list[j] = input_list[j], input_list[i]
            elif number_list[i] == number_list[j]:
                for h in range(len(input_list[i])):
                    if input_list[i][h] > input_list[j][h]:
                        input_list[i],input_list[j] = input_list[j], input_list[i]
                        break
                    elif input_list[i][h] < input_list[j][h]:
                        break

코드가 엄청 복잡해보이지만 사실 input_list와 number_list가 전부인 코드이다.
number_list 에는 문자열에 들어있는 숫자들을 리스트 안에 정렬해주었다.
input_list 에는 받은 입력값들을 리스트 안에 넣어주었다.
이중 반복문에서 요구하는 세가지 사항들에 대한 판별을 전부 넣어주었다.
코드를 조금 짧지 못하게 만든 점이 아쉽긴하다.

profile
귀요미 개발자

0개의 댓글