WALF
Keep Going Don't Give up
WALF
전체 방문자
오늘
어제
  • 분류 전체보기
    • JAVA
    • Python
    • HTML, CSS
    • Algorithm
      • Concept
      • 구현
      • JAVA
      • Python
      • 프로그래머스 알고리즘 고득점 Kit
    • SQL
    • Git, GitHub
    • CS

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Python
  • 식별자
  • relationship
  • SQLD
  • ORD
  • Entity
  • 시간 복잡도
  • charat
  • 데이터 모델의 이해
  • SQL
  • BOJ
  • 데이터 모델링의 이해
  • chr
  • attribute
  • syntax
  • 알고리즘
  • Java
  • For Each
  • 백준
  • enumerate

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
WALF

Keep Going Don't Give up

Algorithm/Python

[BOJ] 1181 단어 정렬 - Python

2023. 8. 12. 01:54

■ 문제 링크

https://www.acmicpc.net/problem/1181

 

1181번: 단어 정렬

첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다.

www.acmicpc.net


■ 문제

본 문제는 solved.ac 실버5 문제이다.


■ 풀이

 

N을 입력받고, N개의 단어를 입력받으며,

word_list에 이미 존재하는 단어일 시, 리스트에 append 하지 않도록 하여 단어 중복을 제거하였다.

그 후, 정렬 기준을 lambda함수를 이용하여 정의해 주었다.

첫 번째 정렬 기준 : 단어 길이

두 번째 정렬 기준 : 단어 (사전순으로)

그리고 word_list안에 있는 순서대로 출력해 주었다.

 

N = int(input())

word_list = list()
for i in range(N):
  word = input()
  if word not in word_list:
    word_list.append(word)
  
word_list.sort(key=lambda x:(len(x),x))

for i in word_list:
  print(i)

 

 

'Algorithm > Python' 카테고리의 다른 글

[BOJ] 1259 팰린드롬수 - Python  (0) 2023.08.13
[BOJ] 2231 분해합 - Python  (0) 2023.08.12
[BOJ] 2869 달팽이는 올라가고 싶다 - Python  (0) 2023.08.12
[BOJ] 1157 단어공부 - Python  (0) 2023.08.12
[BOJ] 10814 나이순 정렬 - Python  (0) 2023.08.12
    'Algorithm/Python' 카테고리의 다른 글
    • [BOJ] 2231 분해합 - Python
    • [BOJ] 2869 달팽이는 올라가고 싶다 - Python
    • [BOJ] 1157 단어공부 - Python
    • [BOJ] 10814 나이순 정렬 - Python
    WALF
    WALF

    티스토리툴바