소스코드
문제 해결 알고리즘
1. 중복 제거
list() -> set() -> list()형 변환
2. 파이썬 내장함수 sort() 사용
[sort() 함수]
기본형태 : 정리하고싶은리스트.sort()
입력된 숫자나 문자를 오름차순으로 정렬해주는 함수입니다.
만약 내림차순으로 정리하고 싶으면 sort(reverse = True)사용하면 됩니다.
ex) 내림차순으로정리하고싶은리스트.sort(reverse = True)
[sorted()함수]
기본형태 : sorted(정렬하고싶은리스트)
sort함수와 헷갈리기 쉬운 sorted() 함수입니다.
sorted()함수는 리스트를 새롭게 반환합니다.
따라서 new_list = sorted(정렬하고싶은리스트) 형태로 작성하면 됩니다.
공통점 : list를 정렬해줌
차이점 :
sort()는 원래 리스트가 바뀌고 원래 리스트를 리턴
sorted()는 원래 리스트는 보존되고 새로운 리스트를 반환해줌
3. lamda함수
기본형태 : lamda(x : x+10)
이런 식으로 직접 함수를 정의하지 않고 가볍게 연산식을 사용할 때 유용합니다.
x를 넣으면 x+10을 반환하는 간단한 식이죠!
이번 문제에서는 sort(lamda x: len(x))로 sort함수에 사용했는데요
x 즉, list에 있는 애들을 len(x) "길이에 대해 정렬해줘" 라는 뜻으로 사용했습니다.
특이사항
분명 다 맞았는데.. 하고 생각했는데 런타임 에러가 나왔습니다..
출력 부분에서 range를 N으로 해서 오류가 났었던 것이었습니다.
왜냐하면 중복되면 삭제하는 알고리즘을 짰기 때문에 indexError가 난 것이었습니다.
이거 때메 앞으로는 고생하지 않기로 ~
'Coding test' 카테고리의 다른 글
[백준/2606/파이썬] 바이러스 (0) | 2023.01.03 |
---|---|
[백준/2178/파이썬] 미로탐색 (0) | 2023.01.02 |
[백준/2644/파이썬] 촌수계산 (0) | 2023.01.01 |
[백준 7569/파이썬] 토마토 (0) | 2022.12.31 |
[백준 9012/파이썬] 괄호 (0) | 2022.12.29 |