반응형
어느 정도 중괄호 위치에 대한 이해가 잡혔다.
왜 어떤 변수는 위에서 잡아둬야 하고,
왜 어떤 변수는 for문에서 해야 하는가.
피라미드처럼 레이어 단위로 이해하면 이해하기가 쉽게 된다.
아래부터 패키지, 클라스, 메인함수, 이후 반복문 조건문 등으로 높은 레이어로 갔다가,
이후 다시 출력을 해야 할 때, 프로그램을 종료할 때는 낮은 레이어로 돌아간다.
문제에서 말하듯이 입력 줄이 두 줄이라면 우선 스캐너가 두 번 들어가야 하는데 이 위치를 알고 구현해야 한다.
최우선 조건이 되는 N의 경우는 코드의 맨 처음에 받을 수 있어야 하는 것이 당연하고,
이후 두 번째 줄에서 N이라는 조건만큼 하려면, N만큼 반복되는 반복문이 실현되어야 한다.
그러면 자연스레 반복문 안에 두 번째 스캐너가 들어가게 되고,
입력된 것은 자연스레 리스트 안에 들어가 저장되어야 한다.
하지만 반복문 안에서만 저장되면 일을 마치고나면 리스트가 사라지기 때문에,
더 하위에 먼저 리스트 생성을 시켜두고, 그 레이어에서 최종 최대값과 최소값을 출력한다.
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
ArrayList<Integer> nums = new ArrayList<Integer>();
for (int i = 0;i<N;i++) {
int num = sc.nextInt();
nums.add(num);
}
Integer max = Collections.max(nums);
Integer min = Collections.min(nums);
System.out.println(min + " " + max);
}
}
반응형
'Projects > 백준 문제' 카테고리의 다른 글
백준 2577번 자바 문제 숫자의 개수 (0) | 2022.02.05 |
---|---|
백준 2562번 자바 문제 최대값의 인덱스 가져오기 (0) | 2022.02.04 |
백준 1110번 자바 문제 더하기 사이클 구하기 (0) | 2022.02.02 |
백준 10871번 자바 문제 List ArrayList (0) | 2022.02.01 |
백준 2439번 자바 문제 (0) | 2022.02.01 |