본문 바로가기

algorithm

tryhelloworld LV1. 짝수와 홀수

@마크다운


```

evenOrOdd 메소드는 int형 num을 매개변수로 받습니다.
num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하도록 evenOrOdd에 코드를 작성해 보세요.
num은 0이상의 정수이며, num이 음수인 경우는 없습니다.


```


내가 푼 코드

```

def evenOrOdd(num):

    s = ""

    if num %2 is 0:

        s = 'Even'

    else:

    s = 'Odd'


    return s


#아래는 테스트로 출력해 보기 위한 코드입니다.

print("결과 : " + evenOrOdd(3))

print("결과 : " + evenOrOdd(2))

```


풀이 : 2로 나누었을때 나누어 떨어진다면 짝수 아니면 홀수이니까 아주쉽다.



> 한줄로

> return "Even" if num % 2 is 0 else "Odd"



번외


다른사람의 풀이를 보는중 재밌는 코드를 보아서 여기에 남겨둔다.


def evenOrOdd(num):
    return num % 2 and "Odd" or "Even"

논리 연산을 이용하여 풀었는데 재미있다.

num % 2를 하면 0 또는 1이 나오는데 이 값을 True False로 이용하여 논리 연산으로 풀었다.


0이 나온경우 (나누어 떨어졌기 때문에 짝수)


0은 False니까  0 and "Odd" 이 조건은 성립하지 못하고 or "Even"의 조건만 충족하게되어 Even이 출력


1이 나온경우(나누어 떨어지지않았으므로 홀수)


1은 True이므로 1 and "Odd" 조건이 성립되어 Odd가 출력