백준-1431 시리얼 번호

Yeom Jae Seon·2021년 2월 1일
0

알고리즘

목록 보기
8/19
post-thumbnail

시도한 내용 😂

  • 파이썬에 내장된 sorted와 sort함수를 통해 sorting하는 법을 아는 나에겐 어렵지않았다.
  • sorted의 key를 이용해서 custom sorting이 가능하다.

코드 😀

import sys

n = int(sys.stdin.readline().rstrip())

arr = []

for i in range(0, n):
  arr.append(sys.stdin.readline().rstrip())

def isDigit(str):
  try:
    int(str)
    return True
  except ValueError:
    return False

def addInt(serialNum):
  sum = 0
  for i in range(0, len(serialNum)):
    if isDigit(serialNum[i]):
      sum += int(serialNum[i])
  return sum;

arr = sorted(arr, key=lambda x : (len(x), addInt(x), x))

  
for i in range(0, len(arr)):
  print(arr[i])

알게된 내용 😁

  • lambda표현식으로 함수 쉽게 표현하는 법을 배움.
  • try except로 파이썬에서 예외처리 하는 법을 배움.
  • sorted의 key를 통해서 custom sorting하는 법을 배움 -> 이걸로 여러 조건의 sorting문제를 풀수있다.

0개의 댓글