Introfor

Who likes it 본문

Programming_prob/Codewares

Who likes it

YongArtist 2020. 9. 20. 15:26
1
2
3
4
5
6
7
8
9
10
11
12
def likes(names):
    if len(names) == 0:
        return "no one likes this"
    elif len(names) == 1:
        return f'{names[0]} likes this'
    elif len(names) == 2:
        return f'{names[0]} and {names[1]} like this'
    elif len(names) == 3:
        return f'{names[0]}, {names[1]} and {names[2]} like this'
    else:
        num = len(names) - 2
        return f'{names[0]}, {names[1]} and {num} others like this'
cs

names의 크기에 따라서 출력값이 변하는 것을 고려해 조건을 나눠 출력했다.

 

 

1
2
3
4
5
6
7
8
9
def likes(names):
    n = len(names)
    return {
        0'no one likes this',
        1'{} likes this'
        2'{} and {} like this'
        3'{}, {} and {} like this'
        4'{}, {} and {others} others like this'
    }[min(4, n)].format(*names[:3], others=n-2)
cs

다른 사람의 풀이인데 너무 잘 되어 있다. 이런 코드를 많이 봐야겠다..

'Programming_prob > Codewares' 카테고리의 다른 글

Persistent Bugger  (0) 2020.09.21
Complementary DNA  (0) 2020.09.20
Descending Order  (0) 2020.09.20
Comments