@마크다운
```
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가 출력
'algorithm' 카테고리의 다른 글
문자열에서 홀수인 숫자를 제곱하여 더하라 (2) | 2017.11.28 |
---|---|
tryhelloworld Lv1. 자릿수더하기 (1) | 2017.09.10 |
tryhelloworld Lv1. 제일 작은 수 제거하기 (0) | 2017.08.29 |
tryhelloworld Lv1. 평균구하기 (0) | 2017.08.28 |
try helloworld Lv1. x만큼 간격이 있는 숫자 (0) | 2017.08.23 |