본문 바로가기

코딩 문제/매일프로그래밍

매일프로그래밍 - 1의 갯수 찾기

728x90

Q. 주어진 정수를 2진법으로 나타내었을 때 1의 갯수를 리턴하시오.

EX.

Input : 6
Output : 2

Input : 13
Output : 3

 

 

풀이

 

import java.util.Scanner;

 

public class javatest {

 

      public static void main(String[] args) {

 

            int num = 0; // 입력받은 값

            int count = 0; // 2진법 표현 값에서 1의 개수

            int[] arr; // 2진법 배열

            // 정수 배열 입력받기

            System.out.println("정수를 입력해주세요.");

            Scanner scan = new Scanner(System.in);

            num = Integer.parseInt(scan.nextLine());

 

            // 2진법 표현

            while(true) {

            // 1의 개수 Count

            if(num % 2 == 1) {

                  count++;

            }

            num = num / 2;

            if(num < 2) {

                  count++;

                  break;

            }

      }

      // 출력

      System.out.println(count);

      }

}

 

 

결과