1. 백준 - 키보드 이벤트
문제점
시도해 본 것들
N, M = 3, 5
input_list = [
["1", "0", "A"],
["2", "1", "P"],
["1", "2", "L"],
["2", "4", "E"],
["3", "0", "P"],
]
sorted_list1 = sorted(input_list, key=lambda x: int(x[0]))
print(sorted_list1)
sorted_list2 = sorted(input_list, key=lambda x: int(x[1]))
print(sorted_list2)
print(''.join([x[2] for x in sorted_list2]))
숫자와 영어가 섞인 input이 들어오므로 sorted로 정렬하는 과정에서 int()로 형변환 실행
N, M = map(int, input().split())
input_list = [input().split() for _ in range(M)]
input_list = sorted(input_list, key=lambda x: [int(x[1]), int(x[0])])
print("".join([x[2] for x in input_list]))
x[0], x[1]의 순서로 정렬할 경우 순서가 0번을 기준으로 정렬이 되는데 왜 그런지 이유를 정확히 모르겠다.
해결 방법
N, M = map(int, input().split())
print("".join([x[2]for x in sorted([input().split() for _ in range(M)], key=lambda x: [int(x[1]), int(x[0])])]))
가독성이 그리 좋지는 않지만 스스로 줄일 수 있다는 것은 어디에 코드가 들어가야 할지 알고 있다고 생각한다.
알게 된 점
key=lambda를 2종류 이상 사용할 수 있음을 알게됐다.
'개발일지 > TIL' 카테고리의 다른 글
TIL 23-06-06 백준 - 3의 배수 (0) | 2023.06.06 |
---|---|
TIL 23-06-05 최종 팀 프로젝트 시작 (0) | 2023.06.05 |
TIL 23-06-02 Linux vi 편집기 명령어 (0) | 2023.06.02 |
TIL 23-06-01 git rebase drop 해보기 (0) | 2023.06.01 |
TIL 23-05-31 백준 - 기타줄 (0) | 2023.05.31 |