코테연습/프로그래머스
코딩 기초 트레이닝 > 조건에 맞게 수열 반환하기 2 Java / 배열비교 Arrays.equals()
메각이
2023. 11. 1. 10:35
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/181881
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] arr) {
int[] beforeArr = new int[arr.length];
int x = 0;
while (!Arrays.equals(beforeArr, arr)) {
beforeArr = Arrays.copyOf(arr, arr.length);
for (int i = 0; i < arr.length; i++) {
if (arr[i] >= 50 && arr[i] % 2 == 0) {
arr[i] = arr[i] / 2;
} else if (arr[i] <= 50 && arr[i] % 2 != 0) {
arr[i] = arr[i] * 2 + 1;
}
}
x++;
}
return x-1;
}
}
arr(x) 와 arr(x+1) 을 비교하기 위해 for 문을 돌기전 배열을 생성하고 , for 문 후에 배열을 비교했다.
배열의 비교 - Arrays.equals(arr1, arr2)
두 배열 arr1과 arr2 가 같은 길이와 같은 위치에 같은 원소를 가지는지 비교할때
Arrays.equals(arr1, arr2);
728x90