말랑한 하루

[BAEKJOON] 1181 단어 정렬 (Python) 본문

문제풀이/BAEKJOON Online Judge

[BAEKJOON] 1181 단어 정렬 (Python)

지수는말랑이 2022. 10. 29. 19:02
반응형

[ 개요 ]
https://www.acmicpc.net/problem/1181

[ 학습 내용 ]
※ 입력

import sys
input = sys.stdin.readline

# 정수입력
N = int(input())

# 공백을 제거하는 문자열 입력
content = input().rstrip()

※ set을 활용한 정렬된 리스트

ary : [(3, 'but'), (1, 'i'), (4, 'wont'), (8, 'hesitate'), 
(2, 'no'), (4, 'more'), (2, 'no'), (4, 'more'), (2, 'it'), 
(6, 'cannot'), (4, 'wait'), (2, 'im'), (5, 'yours')]

### sorted
# 기본적으로 새로운 정렬 목록 반환
ary = list(sorted(set(sry)))
#return : [(1, 'i'), (2, 'im'), (2, 'it'), (2, 'no'), 
#(3, 'but'), (4, 'more'), (4, 'wait'), (4, 'wont'), 
#(5, 'yours'), (6, 'cannot'), (8, 'hesitate')]

# 복잡한 객체에 대해 정렬할 시 다음과 같이 진행
array = sorted(set(array), key=lambda ary : ary[1])

# operator를 사용하는경우
class Word:
	def __init__(self, lens, word):
    	self.lens = lens
        self.word = word

from operator import itemgetter, attrgetter
sorted(set(word_objects), key=itemgetter(1))
sorted(set(word_objects), key=attrgetter("word"))

[ 소스 코드 ]

import sys
input = sys.stdin.readline

N = int(input())

ary = []

for i in range(N):
  answer = input().rstrip()
  ary.append((len(answer), answer))

ary = list(sorted(set(ary)))

for x in ary:
  print(x[1])
반응형
Comments