[연습문제] 짝수와 홀수

2024. 11. 21. 18:00입문문제

https://school.programmers.co.kr/learn/courses/30/lessons/12937

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr


문제 설명
정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요.


제한 조건

  • num은 int 범위의 정수입니다.
  • 0은 짝수입니다.

입출력 예

num return
3 "Odd"
4 "Even"

정수가 짝수인지 홀수인지에 따라 영문을 반환하는 문제입니다.

 

문제 조건에서 0은 짝수로 취급한다고 되어 있는데, 이 문구를 본다면 2로 나눈 나머지를 활용하라는 의도네요.

 

정답 코드를 작성해보겠습니다.

 

1. C

#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>

char* solution(int num) {
    if (num % 2) {
        return "Odd";
    }
    else {
        return "Even";
    }
}

 

C언어에서는 동적 할당을 통해서 return 값을 작성하라고 되어 있는데, 굳이 그럴 필요까지는 없어보여서 바로 문자열을 리턴해주었습니다.

 

2. 파이썬

# solution = lambda x: "Odd" if x % 2 else "Even"

def solution(num):
    answer = "Even"
    if num % 2:
        answer = "Odd"
    return answer

 

파이썬의 주석 처리된 부분은 람다 함수를 사용한 풀이입니다.

아래는 C언어와 동일한 방식으로 문제를 풀었습니다.