관리 메뉴

솜씨좋은장씨

[SW_Expert_Academy] 7701번 염라대왕의 이름 정렬 (Python) 본문

Programming/코딩 1일 1문제

[SW_Expert_Academy] 7701번 염라대왕의 이름 정렬 (Python)

솜씨좋은장씨 2020. 3. 17. 04:38
728x90
반응형

코딩 1일 1문제 40일차!

오늘의 문제는 삼성 SW EXPERT의 염라대왕의 이름정렬입니다.

 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

Solution

count = 1

loop_num = int(input())

for i in range(loop_num):
    input_num = int(input())
    input_str_list = []
    
    for i in range(input_num):
        string = str(input())
    
        input_str_list.append((string, len(string)))
        
#     print(input_str_list)
    input_str_list = list(set(input_str_list))
    sorted_str_list = sorted(input_str_list, key = lambda x : (x[1], x[0]))
#     print(sorted_str_list)

    print("#{}".format(count))
    for i in range(len(sorted_str_list)):
        print(sorted_str_list[i][0])
    count = count + 1

Solution 풀이

이 문제는 입력받은 문자열을 길이가 짧은 순서대로 같은 길이라면 사전순으로 정렬해야합니다.

이에 입력받을때 문자열의 길이도 같이 저장하도록하였으며

sorted함수에서 lambda를 활용하여 길이순 다음으로 사전순으로 정렬하도록 설정해주었습니다.

 

 

 

SOMJANG/CODINGTEST_PRACTICE

1일 1문제 since 2020.02.07. Contribute to SOMJANG/CODINGTEST_PRACTICE development by creating an account on GitHub.

github.com

Comments