https://www.acmicpc.net/problem/2947
동혁아~ 시키지 않아도 스스로 나무 조각을 옮긴거야~?
자바 문법때문에 헷갈렸던 문제
두 배열이 같은지 비교할 때
(배열1).equals(배열2)
로 비교를 하면 안된다ㅠ
String 클래스가 아닌 개발자가 만든 객체의 경우 equals로 같은 여부를 검사하는 게 힘들다고 한다.
두 배열이 같은지 비교를 하려면 Arrays.equals(배열1, 배열2)
로 비교를 해야한다.
또 나만 몰랐지 또..
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class BOJ_2947_나무조각 {
public static void main(String[] args) throws Exception{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int[] woods = new int[5];
for (int i=0; i<5; i++) {
woods[i] = Integer.parseInt(st.nextToken());
}
int[] answer = {1, 2, 3, 4, 5};
while (!Arrays.equals(woods,answer)) {
for (int i=0; i<4; i++) {
if (woods[i] > woods[i+1]) {
int temp = woods[i];
woods[i] = woods[i+1];
woods[i+1] = temp;
print(woods);
}
}
}
}
private static void print(int[] woods) {
for (int w:woods) {
System.out.print(w+" ");
}
System.out.println();
}
}