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..
2024.05.02기준 - 실버5백준, BEAKJOON, BOJ, JAVA, 자바 풀이이 문제는 주어진 조상 포닉스의 마력과 명령을 내린 횟수를 바탕으로, 모든 포닉스의 마력의 합을 구하는 문제입니다.각 명령마다 새로 생성된 포닉스의 마력을 계산하는 방식으로 접근할 수 있습니다.명령을 수행할 때마다 새로운 포닉스가 2마리씩 생성되므로, 각 명령에 대해 새로 생성된 포닉스들의 마력을 더해주면 됩니다. 여기서 주의할 점은 한 포닉스가 마법을 사용한 후에는 더 이상 마법을 사용할 수 없다는 점입니다.이를 고려하여 각 명령에 대해 새로 생성된 포닉스의 마력을 계산하면 됩니다. 마력을 사용하여 2마리의 새로운 포닉스를 만들어도 결국 2마리의 합은 조상 포닉스의 값과 같습니다.그렇기 때문에 스킬을 사용하는 횟수 만..