

이번 문제는 길이가 가장 긴 문장들만 출력해주는 문제입니다.
조금의 기초 문법과 함수만 안다면 굉장히 쉽게 풀수 있습니다.
def allLongestStrings(inputArray):
maxlen=max(map(len,inputArray))
return [string for string in inputArray if len(string)>=maxlen]
이 코드는 maxlen에 map함수를 이용해 문자열들의 길이가 있는 수열을 만들고,
그중 가장 큰 수를 max함수로 찾아 넣습니다.
이후 리스트 컴프리헨션을 이용해 inputArray에 있는 문장중 길이가 maxlen을 넘는것만
반환해주는것입니다.
maxlen을 정의할때 map함수를 쓰지 않고 max(len(s) for s in inputArray) 이런식으로 써도 상관은 없습니다.
'알고리즘 > CodeSignal' 카테고리의 다른 글
| CodeSignal 11번 allLongestStrings 문제풀이 (0) | 2020.01.20 |
|---|---|
| CodeSignal 10번 commonCharacterCount 문제풀이 (0) | 2020.01.20 |
| CodeSignal 8번 matrixElementsSum문제풀이 (0) | 2020.01.17 |
| CodeSignal 7번 almostIncreasingSequence 문제풀이 (0) | 2020.01.11 |
| CodeSignal 6번 makeArrayConsecutive2 문제풀이 (0) | 2020.01.11 |