[Q. 03] 로그 파일 재정렬

2023. 3. 15. 19:47·코딩테스트/알고리즘
로그를 재정렬하라. 기준은 다음과 같다.
1. 로그의 가장 앞 부분은 식별자다.
2. 문자로 구성된 로그가 숫자 로그보다 앞에 온다.
3. 문자 로그는 내용에 따라 사전순으로 정렬됩니다. 내용이 같으면 식별자를 기준으로 사전순으로 정렬합니다.
4. 숫자 로그는 입력 순서대로 한다.

 

먼저 로그가 숫자인지 문자인지를 판별해서 서로 분리해준다.

strs = []
nums = []

for log in logs:
    if log.split()[1].isdigit():
        nums.append(log)
    else:
        strs.append(log)

 

판별에는 식별자 후 문자가 숫자인지를 판별해서 넣어주었다.

숫자 로그들은 입력순이기 때문에 따로 정렬할 필요가 없으나, 문자는 동일할 경우 식별자 순으로 한다는 조건이 있다.

그러므로 sort의 lambda를 이용하여 다시 정렬해준다. 정렬의 첫번째 조건은 식별자를 제외한 문자열, 그리고 두번째 조건은 문자열이 같을 때 식별자 순이라고 하였으므로 식별자로 지정해준다.

strs.sort(key=lambda x: (x.split()[1:], x.split()[0]))

 

전체코드는 다음과 같다.

class Solution:
    def reorderLogFiles(self, logs: List[str]) -> List[str]:
        strs = []
        nums = []

        for log in logs:
            if log.split()[1].isdigit():
                nums.append(log)
            else:
                strs.append(log)

        strs.sort(key=lambda x: (x.split()[1:], x.split()[0]))

        return strs + nums

 

저작자표시 비영리 변경금지 (새창열림)

'코딩테스트 > 알고리즘' 카테고리의 다른 글

[Q. 05] 그룹 애너그램  (0) 2023.03.16
[Q. 04] 가장 흔한 단어  (0) 2023.03.15
[Q. 02] 문자열 뒤집기  (0) 2023.03.15
[Q. 01] 유효한 팰린드롬  (0) 2023.03.15
[Q7] 두 수의 합  (0) 2022.12.17
'코딩테스트/알고리즘' 카테고리의 다른 글
  • [Q. 05] 그룹 애너그램
  • [Q. 04] 가장 흔한 단어
  • [Q. 02] 문자열 뒤집기
  • [Q. 01] 유효한 팰린드롬
뚝딱뚝딱2
뚝딱뚝딱2
  • 뚝딱뚝딱2
    개발도상국
    뚝딱뚝딱2
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 공부
        • Java
        • Spring Boot
        • LORA
      • Web
        • 인스타 클론 코딩
        • GPT 응답 API 서버
        • Spring Boot 예외 처리
        • 코테 준비용 서비스 만들기
      • DevOps
        • 쿠버네티스
        • 서버 만들기
      • 코딩테스트
        • 알고리즘
      • 교육
        • 스파르타코딩클럽 - 내일배움단
        • 혼자 공부하는 컴퓨터 구조 운영체제
      • 잡다한것
  • 블로그 메뉴

    • 홈
  • 링크

    • GITHUB
  • 공지사항

  • 인기 글

  • 태그

    스프링 부트
    mapstruct
    클러스터
    인스타그램
    OpenAI API
    REST API
    Entity
    예외
    spring boot
    스프링부트
    MSA
    클론코딩
    오블완
    리액트
    Java
    react
    쿠버네티스
    백준
    chat GPT
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
뚝딱뚝딱2
[Q. 03] 로그 파일 재정렬
상단으로

티스토리툴바