6월 4주차 - syh39/ProblemSolving Wiki

파일명 정렬

  • 출처: 2018 KAKAO BLIND RECRUITMENT

  • 난이도 : Level 2

  • 풀이 여부 : Y

  • 소요 시간 : 30분

  • 유형 : 정렬

  • 풀이 방법:

    1. 문자열 --> HEADER와 NUMBER 분리
    2. HEADER정렬 --> NUMBER 정렬순
def split(s):
    list_str = list(s.upper())
    header, number = "", "0"
    # HEADER 분리
    while True:
        if list_str[0].isdigit():
            break
        header += list_str.pop(0)
    
    # NUMBER 분리
    while True:
        if list_str == [] or not list_str[0].isdigit():
            break
        number += list_str.pop(0)
    
    return (header, int(number), s)

def solution(files):
    result = [split(f) for f in files]

    # HEADER정렬 --> NUMBER 정렬순
    result.sort(key=lambda x: (x[0], x[1])) # sorted(result, kay=lambda x: (x[0], x[1]))
    return [r[2] for r in result] # [s for header, number, s in result]

H-Index

  • 출처: 정렬

  • 난이도 : Level 2

  • 풀이 여부 : Y

  • 소요 시간 : 40분

  • 유형 : 정렬

  • 풀이 방법: 그냥 읽고 풀면 되는데, 말장난 같은 문제. 어휘력 테스트 같은 문제임. 별로 안 좋은 문제 같음. 안 푸는 것을 추천