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);
}
}
결과
'코딩 문제 > 매일프로그래밍' 카테고리의 다른 글
매일프로그래밍 - 유닉스 파일 경로로 변경 (0) | 2021.02.01 |
---|---|
매일프로그래밍 - 최대 공약수 구하기 (0) | 2021.02.01 |
매일프로그래밍 - 원소 이동 (0) | 2021.02.01 |
매일프로그래밍 - 배열 안 해당문자 여부 확인 (0) | 2021.02.01 |
매일프로그래밍 - 정수 배열 정렬 알고리즘 구현 (0) | 2021.02.01 |