[Java] 백준 문제 풀이 - 2501번, 3460번

이진석·2022년 10월 21일
0

백준 문제 풀이!!

목록 보기
1/13
post-thumbnail

20221021

문제

https://www.acmicpc.net/problem/2501


풀이

import java.util.Scanner;
import java.util.Arrays;

public class Main { 
//클래스명이 따로 지정되지 않은 경우에는 반드시 Main으로 해야 실행이 된다.
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
        //입력받기 위한 Scanner
		int a = sc.nextInt();
		int b = sc.nextInt();
		int []array = new int[a+1];
        //배열의 크기를 설정
		int count=0;
		
		for(int i=1; i<=a; i++) {
			if(a%i==0) {
					array[count]=i;
					count++;
			}	
		}
        //배열안에 약수일 경우, 숫자가 추가되도록 설정
		System.out.println(array[b-1]);
        //크기가 a+1이므로 출력할때는 원하는 값이 나오도록 -1을 해줘야 한다.
	}
}

문제

https://www.acmicpc.net/problem/3460


풀이

import java.util.*;

public class Main {
      public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        
        //2진수 담을 String 배열
        String[] binary = new String[num];
        
        //2진수 구하기
        for (int i = 0; i < num; i++) {
            int num2 = sc.nextInt();
            String tmp = "";
            while (num2 != 1){
                tmp += num2 % 2;
                num2 /= 2;
            }
            tmp += num2;
            binary[i] = tmp;
        }
        
        //1의 위치 찾아 출력하기
        for (String tmp : binary){
            for (int i = 0; i < tmp.length(); i++) {
                if (tmp.charAt(i)=='1'){
                    System.out.print(i+" ");
                }
            }
        }
    }
}
profile
혼자서 코딩 공부하는 전공생 초보 백엔드 개발자 / https://github.com/leejinseok0614

0개의 댓글