2024.05.08기준 - 브론즈 1백준, BEAKJOON, BOJ, JAVA, 자바 풀이완전수(perfect number)는 자신을 제외한 약수의 합이 자신과 같은 수를 말합니다. divisor 함수는 주어진 수의 약수를 찾아내고, 약수드르이 합을 반환하도록 작성했습니다.divisor 함수를 통해 입력받은 숫자가 완전수 인지 여부를 판단합니다.주어진 숫자가 완전수일 경우, 해당 숫자와 약수들의 합을 출력합니다. 입력받은 숫자가 완전수인지 판별하여 결과를 출력하는 간단한 문제였습니다. 코드import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { ..
2024.05.07기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 정렬을 하여 최소값의 2배 기준으로 비교하는 문제입니다. 저는 어차피 최소값에 해당하는 페이지를 생성해야 되며,이미 생성된 페이지에 들어가는 책들을 다 정리하는 방식을 선택했습니다. 책의 개수만큼 arr 배열에 저장을 하여 오름차순 정렬을 해줍니다.그러고 1페이지에 가장 작은 값(arr[0])을 넣어 주었습니다. 반복문을 통해 1부터 n까지 배열의 조회합니다.조회한 배열(arr[i])가 가장 작은 값(min)의 2배 보다 크거나 같다면 페이지를 새로 생성하고, min 값을 최신화 시켜줍니다. 반복문이 종료되면 최소 페이지 개수가 나오고 그 값을 출력하는 방식으로 풀이를 했습니다. 코드import java.i..
2024.05.07기준 - 실버4백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 아파트 게임을 이용한 문제입니다. 중요한 점은 참가자의 두 손의 높이 h1, h2가 공백으로 주어지는데,층 수에 맞춰서 주어지는게 아닌 1이상 10000이하로 주어진다는 점을 생각해야 됩니다. 사람의 번호와 그 사람의 층 수를 기록하기 위해 새로운 class인 Member를 선언했습니다.선언된 Member로 List를 생성해 입력을 받은 뒤,List를 Member의 floor의 기준으로 오름차순 정렬을 해주었습니다. 만약, n % (전체 층 수)가 0이면 최대 층이 나오게 아니면 나머지가 나오게 변수를 입력 받았습니다.그러고 해당 충 수의 Member의 number를 반환하는 코드를 작성했습니다. 코드imp..
2024.05.07기준 - 브론즈3백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 각각의 수를 2의 거듭제곱 형태로 나타낼 수 있는지를 확인하는 것입니다.각각의 테스트 케이스에서 수를 읽어들입니다.읽어들인 수 n에 대해 m은 n을 음수로 바꾼 값입니다. (m = n * -1)n과 m의 비트 AND 연산을 수행한 결과가 n과 같으면, n을 2의 거듭제곱으로 표현할 수 있다는 것을 의미합니다.따라서 결과로 1을 출력합니다.그렇지 않으면, n을 2의 거듭제곱으로 표현할 수 없으므로 결과로 0을 출력합니다.비트 연산을 이용하여 2의 거듭제곱 형태로 나타낼 수 있는지를 효율적으로 확인하여 문제를 풀이하였습니다. 코드import java.io.*;import java.util.*;public cl..