반응형
Notice
Recent Posts
Recent Comments
Link
불로구
[ 자바 알고리즘/자료구조] - 자바 배열 비교 본문
반응형
이번에는 배열 두개의 값일 비교해보자.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
class ArrayEqual{
static boolean equals(int[]a, int[] b){
if(a.length != b.length){
return false;
}
for(int i=0; i<a.length; i++){
if(a[i] != b[i]){
return false;
}
}
return true;
}
}
public class 두배열비교 {
public static void main(String[] args) throws NumberFormatException, IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int arrA[] = new int[5];
int arrB[] = new int[5];
boolean result;
String talk = "";
for(int i=0; i<arrA.length; i++){
arrA[i] = Integer.parseInt(br.readLine());
}
for(int i=0; i<arrB.length; i++){
arrB[i] = Integer.parseInt(br.readLine());
}
result = ArrayEqual.equals(arrA, arrB);
System.out.println(Arrays.toString(arrA));
System.out.println(Arrays.toString(arrB));
if(result == true){
talk = "같아요~";
}else{
talk = "달라요~";
}
System.out.println(talk);
}
}
좀 길다;
우선 두배열비교 class를 먼저 보자.
- BufferedReader를 사용했는데 Scanner를 사용해도 무관하다.
- intA라는 배열과 intB라는 배열을 선언했다.
- result는 ArrayEquals의 결과를 담을 변수이다
- talk는 단순하게 결과에 따라 문자열을 출력하기 위한 변수이다.
- 우선 for문을 통해 arrA와 arrB에 값을 대입한다. ( Scanner를 사용시 int타입의 배열이기때문에 변수.nextInt() 사용 )
- result변수에는 ArrayEquals class에 equals함수에 arrA와 arrB를 아규먼트로 넘겨준 후 결과값을 담는다.
- result의 결과가 true / false 에 따라 talk의 값을 다르게 대입한다.
ArrayEquas calss를 살펴보자.
- 우선 파라미터로 int[]a (= int arrA) , int[] b (= int arrB)를 받는다.
- if문을 통해 a와 b의 배열길이가 같은지 확인한다. -> 배열에 길이가 다르면 어짜피 내용도 다르기 때문
- 배열의 길이가 같다면 a.length = b.length이기 때문에 for문의 초기값과 조건문을 0 ~ a.length로 선언한다.
- if문을 통해 a[i]와 b[i]가 다른경우 return false를 넘겨주고, 모두 같다면 for문을 빠져나와 true를 반환한다.
반응형
'프로그래밍 > 알고리즘' 카테고리의 다른 글
[ 자바 알고리즘/자료구조] - 자바 소수 나열 ( 성능 개선버전 추가 ) (0) | 2021.02.09 |
---|---|
[ 자바 알고리즘/자료구조] - 자바 10진수 변환 (2진수 ~ N진수) (0) | 2021.02.08 |
[ 자바 알고리즘/자료구조] - 자바 난수배열 && 배열 역순 정렬 (0) | 2021.02.07 |
[ 자바 알고리즘/자료구조] - 자바 배열 복사 && 배열의 최대값 (0) | 2021.02.07 |
[ 자바 알고리즘/자료구조] - 반복(1부터 n까지 합) && i++과 ++i (0) | 2021.02.07 |
Comments