알고리즘/코드워

[python]Squash the bugs

(ㅇㅅㅎ) 2021. 3. 8. 22:10
728x90
반응형

www.codewars.com/kata/56f173a35b91399a05000cb7/train/python

 

Codewars: Achieve mastery through challenge

Codewars is where developers achieve code mastery through challenge. Train on kata in the dojo and reach your highest potential.

www.codewars.com

이 문제는 한 문장 안에서 가장 긴 단어의 길이를 구하는 문제입니다.

 

이 문제를 풀기 위해서는 다음과 같은 과정이 필요합니다.

 

1. 문장을 단어로 나누기 → split()

2. 단어의 길이 구하기 → len()

3. 가장 긴 길이 구하기 → max()

 

def find_longest(string):
    # 문장을 단어로 나누기
    string = string.split(' ')
    
    string_length = []
    for i in string:
        # 단어의 길이 구하기
        len_str = len(i)
        # 단어의 길이 저장하기
        string_length.append(len_str)

    # 가장 긴 길이 구하기
    max_len = max(string_length)
    return max_len

 

1~3번의 과정을 한 줄로 표현하면 다음과 같습니다.

def find_longest(string):
    return max([len(i) for i in string.split(' ')])

 

이 외에도 map을 이용하면 더욱 간편하게 코드를 작성할 수 있습니다.

def find_longest(string):
    return max(map(len, string.split(' ')))

 

반응형

'알고리즘 > 코드워' 카테고리의 다른 글

[python] Binomial Expansion  (0) 2023.01.16
[python]Can you sum?  (0) 2022.12.06
[python]Holiday VI - Shark Pontoon  (0) 2020.12.03
[python]Exclusive "or" (xor) Logical Operator  (0) 2020.12.02
[python]How good are you really?  (0) 2020.12.01