Coding Test/백준

·Coding Test/백준
▶ BufferedReader & StringTokenizer & 그리디 알고리즘 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제도 그리디 알고리즘을 활용하면 간단히 풀 수 있습니다. 문제에서 그리디 알고리즘을 활용할 수 있는 이유는 각 시험장마다 주 감독관과 부 감독관의 수를 최소화하여야 하기 때문입니다. 문제에서는 각 시험장의 응시자 수와 주 감독관, 부 감독관이 감시할 수 있는 인원이 주어집니다. 이때, 각 시험장에 필요한 주 감독관과 부 감독관의 수를 최소화해야 합니다. 주 감독관은 각 시험장마다 무조건 1명은 있어야 하므로, 주 감독관의 수는 응시자 수에 따라 변하지 않습니다. 이는 그리디 알고리즘의 조건인 "탐욕적 선택 속성"에 부합합니다. 따라서 주 ..
·Coding Test/백준
▶ BufferedReader & 그리디 알고리즘을 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 거스름돈을 최소한의 동전 개수로 거슬러주는 문제로, 그리디 알고리즘으로 쉽게 해결할 수 있는 문제입니다. 처음에는 {0.25f, 0.10f, 0.05f, 0.01f} 형식으로 해야 하나 했지만 문제를 자세히 보면 1달러는 100 센트라고 나와있습니다. 즉 $0.25는 25센트,  $0.10는 10센트... 이렇게 {25, 10, 5, 1} 형식의 배열로 초기화가 가능합니다. 현재 상태의 최적의 결과를 뽑아내려면 가장 적은 수의 거스름돈을 줘야 하기 때문에 큰 값부터 나누는 것이 중요합니다. "풀이" 설명을 하자면 먼저 빠른 입력을 위하여 BufferedReader..
·Coding Test/백준
▶ BufferedReader & StringTokenizer &ArrayList를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 정말 간단한 N의 약수를 구하고 그 약수들 중에서 K번째 요소를 출력하는 문제입니다. N의 약수들을 미리 알지 못하기 때문에 보통의 배열을 사용하려면 다른 작업이 필요합니다. 따라서 Java에서는 동적 배열을 사용하려면 ArrayList를 사용해야 하기 때문에 ArrayList로 풀어봤습니다.  먼저 빠른 입력을 위하여 BufferedReader 클래스를 사용하여 입력을 받아주고, 정수형으로 캐스팅합니다. 그리고 ArrayList를 만들어주고 반복문을 사용하여 N의 약수를 구하고, 해당 약수를 ArrayList인 list에 추가해줍..
·Coding Test/백준
▶ BufferedReader를 활용한 간단한 문제가 있어 정리해보고자 합니다. 문제설명입력 & 출력나의 풀이 이번 문제는 단순 구현문제입니다. 주어진 입력값 a, b에 대해서 역순으로 다시 정렬해야 합니다. 빠른 입력을 위해서 BufferedReader 클래스를 사용하고, StringTokenizer 클래스를 사용하여 입력값 a, b를 분리를 해줍니다. 그리고 배열을 각 바구니 숫자대로 초기화를 해주고, M번의 구간을 역순으로 뒤집어야 합니다.  이때 a와 b에 -1을 한 이유는 인덱스의 시작이 0이기 때문입니다. while (a 위 조건은 두 인덱스 a와 b가 교차하지 않았을 때까지 반복문을 실행하겠다는 의미입니다.배열의 구간을 뒤집기 위해서 a와 b를 인덱스로 지정하고, a를 증가, b를 감소시키면..
지누박
'Coding Test/백준' 카테고리의 글 목록 (7 Page)