[BOJ 251]バケツ(Java)


質問する


https://www.acmicpc.net/problem/2947

東ヒョクよ~やらせなくても自分で木片を運ぶんだよね~?

問題を解く


Java構文で紛らわしい問題
2つのアレイが同じかどうかを比較(배열1).equals(배열2)では比較できません
Stringクラスではない開発者が作成したオブジェクトについて、等しいかどうかを確認するのは難しいです.
2つの配列が同じかどうかを比較するには、Arrays.equals(배열1, 배열2)で比較する必要があります.
私だけは知らない.
パターンが{1,2,3,4,5}に等しくなるまで、文
  • を繰り返します.
  • の右側に位置する要素がより大きい場合、再配置することができ、アレイ出力
  • .

    コード#コード#

    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();
    	}
    }