본문 바로가기

💜💜💜176

(#10810 Java) 공 넣기 문제 문제 이해 문제를 제대로 이해하는 것 부터 시작해야 할 것 같다. 위에서 보여준 예제를 통해 간단히 요약하자면, 5 4 => 5개의 바구니가 있고, 공을 4번의 방법으로 넣는다. 1 2 3 => 1번부터 2번까지의 바구니에 3번 공을 넣는다. 즉 현재 상태는 3 3 0 0.0 이 되는 것 3 4 4 => 위와 같은 원리로 3번부터 4번까지의 바구니에 4번 공을 넣음. 즉 3 3 4 4 0 1 4 1 => 1번부터 4번까지 1번 공! 현재 상태는 1 1 1 1 0 2 2 2 => 2번부터 2번까지 2번 공을 넣어줌. 즉 결과 : 1 2 1 1 0 이 출력되는 것! 문제 해결 그럼 이를 코드로 어떻게 구현해야 할까? 우선 바구니의 개수와 공을 몇 번의 방법으로 넣을지 입력을 받아야 한다. Scanner.. 2023. 8. 4.
(#2562 Java) 최댓값 문제 문제 해결 이 문제에서 최댓값을 구하는 방법을 이전 문제 (#10818) 과 다르게 해야하는 이유는 정렬하면 안되기 때문!! 이다. 이전 문제에서는 Arrays.sort() 메소드를 사용해 오름차순으로 정렬시킨 후, 인덱스의 마지막 값을 출력하면 해결되는 문제였다. But 이 문제는 최댓값이 몇 번째에 입력됐는지를 함께 출력해야 하므로 이전 방법으로 해결할 수 없다. 그럼 어떻게 해야할깡 일단 아래 세 가지의 변수 설정을 해줘야 한다. 1. 최댓값을 저장할 변수 (max) 2. 인덱스 번호 (index) 3. 값을 입력 받을 때마다 값을 올릴 변수 (count) => 몇 번째로 입력받았는지 알기 위해 int max = 0; int index = 0; int count = 0; 변수 설정을 했다면, .. 2023. 8. 3.
(#10818 Java) 최소, 최대 문제 문제 해결 이 문제는 Arrays.sort() 메소드를 알면 아주 간단하게 풀 수 있는 문제이다 Arrays.sort() : 배열의 원소들을 오름차순으로 정렬해주는 메소드 즉, 최솟값은 인덱스 0번 ( arr [0] ), 최댓값은 인덱스 마지막 ( arr [ N - 1 ] )에 위치해있다 코드 import java.util.Scanner; import java.util.Arrays; public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int N = in.nextInt(); int[] arr = new int[N]; for (int i = 0; i < N; i++) { arr[i.. 2023. 8. 3.
(#10871 Java) X보다 작은 수 문제 문제 해결 1. 우선 배열의 크기인 N과 기준 숫자인 X를 입력 받은 후 2. for 루프를 이용해 N만큼 배열에 숫자를 입력 받는다. 3. 그 다음 똑같이 for 문을 돌며 인덱스 값과 X를 비교해 X보다 작으면 출력, 같거나 크면 다시 for 루프로 돌아가도록 한다. for (int i = 0; i < arr.length; i++) { if (arr[i] < X){ System.out.print(arr[i]+" "); } } 코드 import java.util.Scanner; public class Main{ public static void main(String[] args){ Scanner in = new Scanner(System.in); int N = in.nextInt(); int X .. 2023. 8. 3.
(#10807 Java) 개수 세기 문제 문제 풀이 1차원 배열 단계가 시작됐다. 위 문제는 배열의 크기와 배열을 입력받은 후, v를 입력 받는다. 그 후 배열 안에 v가 몇 개 들어있는지를 출력하는 코드를 작성하면 된다. 그럼 우선 배열을 입력받는 방법부터 알아야한다. 우리는 배열의 사이즈를 입력 받아야 하므로 !! 입력 받은 n을 위 코드의 [5] -> [n] 이렇게 해주면 될 것이다 !! Scanner in = new Scanner(System.in); int n = in.nextInt(); int[] arr = new int[n]; 그 후 배열의 사이즈만큼 입력받아야 하므로 for 문을 사용해 코드를 작성해주면 된다. for (int i = 0; i < arr.length; i++) { arr[i] = in.nextInt(); } .. 2023. 8. 3.
(#10951 Java) A+B - 4 문제 문제 해결 이전 문제 (입력받은 두 수가 모두 0일 때 프로그램을 종료하는 문제)와 비슷한 듯 보이지만.. 생각보다 알고리즘이 생각나지 않았다. 우선 이 문제의 핵심은 더 이상 입력 값이 들어오지 않으면 프로그램을 종료하는 것. 난 이 문제를 Scanner로 입력받는 방법을 사용할 것인데, Scanner의 메소드에 hasNext() 라는 것이 있다! hasNext() boolean 타입으로 반환함 true or false 즉, 다음에 가져올 값이 있으면 true, 없으면 false 이를 이용해 hasNext() 의 반환 값이 true일 때 루프를 돌리고 false가 되면 프로그램을 종료하면 될 것이다. while(in.hasNext()) { int A = in.nextInt(); int B = in.. 2023. 7. 31.
반응형