10810. 최소, 최대
문제
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
입력
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
출력
첫째 줄에 주어진 정수 N개의 최솟값과 최댓값을 공백으로 구분해 출력한다.
소스코드
import java.util.Arrays;
import java.util.Scanner;
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] = in.nextInt();
}
in.close();
Arrays.sort(arr);
System.out.println(arr[0] + " " + arr[N-1]);
}
}
2562. 최댓값
문제
9개의 서로 다른 자연수가 주어질 때, 이들 중 최댓값을 찾고 그 최댓값이 몇 번째 수인지를 구하는 프로그램을 작성하시오.
예를 들어, 서로 다른 9개의 자연수
3, 29, 38, 12, 57, 74, 40, 85, 61
이 주어지면, 이들 중 최댓값은 85이고, 이 값은 8번째 수이다.
입력
첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 100 보다 작다.
출력
첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 몇 번째 수인지를 출력한다.
소스코드
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] arr = new int[9];
int Max = 0;
int total = 0;
for (int i = 0; i < 9; i++) {
arr[i] = in.nextInt();
}
for (int i = 0; i < 9; i++) {
if (arr[i] > Max) {
total = i;
Max = arr[i];
}
}
in.close();
Arrays.sort(arr);
System.out.println(arr[8]);
System.out.println(total + 1);
}
}
3052. 나머지
문제
두 자연수 A와 B가 있을 때, A%B는 A를 B로 나눈 나머지 이다. 예를 들어, 7, 14, 27, 38을 3으로 나눈 나머지는 1, 2, 0, 2이다.
수 10개를 입력받은 뒤, 이를 42로 나눈 나머지를 구한다. 그 다음 서로 다른 값이 몇 개 있는지 출력하는 프로그램을 작성하시오.
입력
첫째 줄부터 열번째 줄 까지 숫자가 한 줄에 하나씩 주어진다. 이 숫자는 1,000보다 작거나 같고, 음이 아닌 정수이다.
출력
첫째 줄에, 42로 나누었을 때, 서로 다른 나머지가 몇 개 있는지 출력한다.
소스코드
처음에는 나머지가 다를 때마다 +1씩했는데, 내가 원하는 값이 나오지 않았다. 그 이유는 arr[i]와 arr[j]가 값이 다르면 +1하는데, 만약 break하고선 같은 값이 나오면 처리해줄 수 없기 때문이다. 그래서 반대로 10개 중에서 빼는 걸로 했다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int[] arr = new int[10];
//10개의 수 입력받기
for (int i = 0; i < 10; i++) {
arr[i] = in.nextInt() % 42;
}
int total = 10;
for(int i = 0; i < 10; i++) {
for (int j = i + 1; j < arr.length; j++ ) {
if (arr[i] == arr[j]) {
total--;
break;
}
}
}
System.out.println(total);
}
}
느낀점
배열 어려워서 피했는데, 생각보다 재밌다.
'Language > JAVA' 카테고리의 다른 글
인터페이스와 특수 클래스 (1) | 2023.11.09 |
---|---|
[JAVA] 백준_반복문(2739, 25304, 10871) (0) | 2023.11.09 |
[JAVA] 백준_조건문(1330, 2525, 2480) (0) | 2023.11.09 |
[JAVA] 백준_입출력과 사칙연산(2557, 1000, 10869, 10926, 18108, 3003, 10430) (1) | 2023.11.09 |
[JAVA] 쉽게 배우는 자바 프로그래밍_8장 기본 패키지 (0) | 2022.06.13 |