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개의 댓글

관련 채용 정보