본문 바로가기

💜💜💜115

(#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.
(#10952 Java) A+B - 5 문제 문제 해결 입력으로 0 0이 들어오면 프로그램이 끝나는 코드를 작성하는 것이 핵심인 문제인 것 같다. 이는 while문으로 해결할 수 있을 것이다. while loop는 조건이 맞을 때만 루프를 도는데, do while 문과 차이점을 알고 사용해야 한다 !! while loop VS do while loop while loop는 조건을 검사하고 해당 조건이 true일 경우 코드 블럭을 실행하는 반복문 do while loop는 조건이 맞지 않을 경우에도 최소 한 번은 실행하는 반복문 여기에서는 처음부터 0 0 이 들어오면 실행되지 않고 종료되어야 하므로 while loop를 사용해야 한다. while(true){ // ~~ } while문의 조건을 true로 적어주고 if 문으로 두 가지 입력이 모.. 2023. 7. 31.
반응형