정수 num이 짝수면 "Even", 홀수면 "Odd"를 리턴하는 값이다.
처음에는 if문으로 풀었고 다음은 삼항연산자로 풀었다. 삼항연산자가 더 예쁜 듯.
#include <string>
#include <vector>
using namespace std;
string solution(int num) {
string answer = "";
if(num%2 == 0) answer = "Even";
else answer = "Odd";
return answer;
}
#include <string>
#include <vector>
using namespace std;
string solution(int num) {
return (num % 2 == 0) ? "Even" : "Odd";
}
다른 사람들 풀이를 보다가 더 멋진 코드를 발견했다.
2와 같은 삼항연산자를 썼지만, 나누는 연산이 아니라 비트연산자를 사용했다.
홀수의 1부분은 언제나 1이니까 num&1을 하면 언제나 1을 출력한다. 1의 출력은 num의 값이 홀수라는 뜻. 그렇지 않으면 num의 값이 짝수라는 뜻을 의미한다.
return num & 1 ? "Odd" : "Even";