본문 바로가기

Code 문제 풀이(Java)

입력 받은 숫자가 홀수 인지 여부를 확인하기

Q. 수를 입력받아서 해당 숫자가 홀수인지 여부를 리턴하세요.


입력 : int type의 정수
출력 : boolean type 을 리턴
제한 조건 : 

  - while문을 사용할 것.(for문 사용 금지)

  - 나눗셈, 나머지(%) 연산자는 사용 금지

  - 숫자 0 은 짝수로 간주.


내가 작성한 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public class Solution { 
    public boolean isOdd(int num) {
        if(num <0) {
            num = num*(-1);
        }
        while(num>0) {
            num = num -2;
            if(num == 1) {
                return true;
            }
        }
        return false;
  }
}
cs

나의 로직 및 생각

  • 평소에, 입력 받은 숫자가 짝수 인지 홀수 인지 구별하는 방법은 % 연산자를 이용하는 방법만 알고 있었어서, % 연산자를 사용하지 않고 홀수를 판별할 코드를 작성할 만한 아이디어가 잘 떠오르지 않아서 애를 먹었다....ㅠ
  • 짝수라면, 음수가 되기 직전 까지 2 를 빼준다면 결국 0이 될 것이고, 홀수라면 음수가 되기 직전 까지 2 를 빼준다면 결국 1이 될 것이라는 점을 코드에 적용해 보았다.
  • 입력값이 정수이기 때문에 음수값을 받을 경우 해당 숫자를 양수값로 바꿔줘야 한다.
    - 조건문을 사용해서 간단하게 입력값을 음수 → 양수 로 바꿔줄 수 있다.

 

 

22년 12월 23일 금요일 학습