반응형
접근 방법)
위 문제 배열을 가지고 풀지 않아도 되는 문제지만 배열 파트인 만큼 배열로 풀어보자.
첫 번째 줄 값만큼(왼쪽) 크기를 가진 1차원 배열을 가지고, for문을 이용하여 그 배열 안에 주어진 두 번째 줄값들을 넣는다.
그리고 배열 생성 후 또 다른 for문을 이용하여 배열 안에 넣은 값들을 처음부터 하나씩 첫 번째 줄 입력값(오른쪽)과 비교하여 작은 값들을 출력하도록 코드를 작성한다.
▷ 1차원 배열 생성
1차원 배열 생성은 for문을 이용하여 쉽게 나타낼 수 있다.
int[] g = new int[N];
for(int i = 0; i < N; i++){
int a = s.nextInt(); // Scanner s = new Scanner(System.in)
g[i] = a;
}
배열 [0]부터 배열 [N-1] 번까지 값을 넣어주는 반복 작업으로 1차원 배열을 생성할 수 있다.
정답 코드 1)
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int x = s.nextInt();
int[] group = new int[n]; // 1차원 배열 생성
for(int i = 0; i < n; i++){ // 배열 안에 입력값 넣기
int a = s.nextInt();
group[i] = a;
}
for(int j = 0; j < n; j++){ // 배열 안의 모든 값들을 x와 비교하기
if(group[j]<x){
System.out.print(group[j]+" ");
}
}
}
}
1차원 배열을 생성하고 그 안에 a(입력값)을 순서대로 배열 안에 넣어준다.
그다음 배열을 [0] ~ [n-1]까지 x와 비교하며 작을 때 출력되도록 코드를 작성한다.
정답 코드 2)
import java.util.Scanner;
class Main{
public static void main(String[] args){
Scanner s = new Scanner(System.in);
int n = s.nextInt();
int x = s.nextInt();
for(int i = 0; i < n; i++){ // 단순한 n번 반복 작업해서 입력 값과 x 값을 비교하여 결과 출력
int a = s.nextInt();
if(a<x){
System.out.print(a+" ");
}
}
}
}
이 코드는 배열을 생성하는 것이 아닌 단순하게 n번 반복 작업으로 입력 값과 x값을 비교한 후 x값보다 작았을 때 해당 입력 값을 출력하는 방식으로 작성한 코드이다.
반응형
'Baekjoon 자바 코드 > 1차원 배열' 카테고리의 다른 글
[백준] 10813번 공 바꾸기 풀이 코드 (Java 자바) (0) | 2024.07.30 |
---|---|
[백준] 10810번 공 넣기 풀이 코드 (Java 자바) (0) | 2024.07.29 |
[백준] 2562번 최댓값 풀이 코드 (Java 자바) (1) | 2024.07.23 |
[백준] 10818번 최소, 최대 풀이 코드 (Java 자바) (0) | 2024.07.22 |
[백준] 10807번 개수 세기 풀이 코드 (Java 자바) (0) | 2024.07.08 |