본문 바로가기
알고리즘/알고리즘 설명

20230614 [Java] 문제풀이

by JayAlex07 2023. 6. 14.

20230614 [Java] 문제풀이

 

[백준] 10818 최소, 최대

배열을 이용하여, 주어진 숫자들의 최소와 최대값을 찾으면 된다

  • 파이썬을 이용할 때에 N개의 입력값을 공백으로 주어진 것을 한번에 리스트로 받아서, for문을 돌며 최소와 최대값을 찾았다
  • 자바 같은 경우 scanner.next(); 를 사용하여 하나의 for문에서, 입력값을 받으면서 최소와 최대값을 찾아냈다

 

만약에 배열을 출력하고 싶을 때에는 Arrays 를 import 받고, Arrays.toString(배열이름) 으로 출력하면 된다

  • import java.util.Arrays;
import java.util.Scanner;

public class Baekjoon10818 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        int n = scanner.nextInt();

        int[] array = new int[n];

        int maximum = -1000000;
        int minimum = 1000000;

        for (int i = 0; i < n ; i ++) {
            array[i] = Integer.parseInt(scanner.next());

            if (array[i] > maximum) {
                maximum = array[i];
            }

            if (array[i] < minimum) {
                minimum = array[i];
            }
        }

        System.out.printf("%d %d", minimum, maximum);

    }
}

 

 

나누어 떨어지는 숫자 배열

 

숫자로 이루어진 배열과, 해당 숫자들을 나누는 하나의 숫자 (divisor) 가주어진다

 

배열에 들어간 숫자들과 divisor를 나누었을 때에, 0이 나누어 떨어지면, 그 숫자를 새로운 배열에 반환해준다

  • 여기서 정답은 오름차순으로 정렬이 되어 있어야 한다

 

정렬을 할 때에는 Collections를 사용했다

import java.util.ArrayList;
import java.util.Collections;

class Solution {
    public ArrayList<Integer> solution(int[] arr, int divisor) {
        ArrayList<Integer> answer = new ArrayList<Integer>();

        for (int i = 0; i < arr.length; i ++) {
            if (arr[i] % divisor == 0) {
                answer.add(arr[i]);
            }
        }

        Collections.sort(answer);

        if (answer.size() == 0) {
            answer.add(-1);
        }
        return answer;
    }
}

'알고리즘 > 알고리즘 설명' 카테고리의 다른 글

20230626 [Java] 문제풀이  (0) 2023.06.26
20230625 Java 문제풀이  (0) 2023.06.25
Java 문제풀이 (백준)  (1) 2023.06.13
[Java] 문제풀이 (Programmers)  (0) 2023.06.01
[Java] 문제풀이 (Programmers)  (1) 2023.05.30