白駿2750 JAVA


質問する

(出典:Baek Junホームページ)
変更前のコード
package AlgorithmPkg;
import java.util.Arrays;
import java.util.Scanner; 

public class b2750 {

	public static void main(String[] args) {
		// 내 사고과: 배열 안에서 사용자가 입력한 수 만큼의 값이 나오고 그 뒤에 오름차순 
		
		int[] size = new int[1000];
		
		//배열을 선언하고 Scanner로 사용자로부터 값을 입력받는다..? 
		Scanner sc = new Scanner(System.in);
		int num =sc.nextInt();
		
		Arrays.sort(); // 값들 오름차순 정렬, sort()는 int가 아닌 배열에만 적용된다. 
		               // num으로 할 때는 오류가 발생하는데 배열 size로 하면 오류가 발생하지 않는다.
		
		for(int i:num) {
			System.out.println("[+i+]");
		}
		
		// 중복 제거 (if문 활용) 
	}
}
[私が実現しなかった点]
1.レイアウトとスキャンプログラムをいつ正確に手配すべきか分からないようです.
2.sort()メソッドもjavaです.util.sort()にあるのを忘れました.
3.重複除外だそうですが、どのように重複除外を実現するか分かりません.
修正後のコード
package AlgorithmPkg;
import java.util.Arrays;
import java.util.Scanner; 

public class b2750 {

	public static void main(String[] args) {
		
		Scanner sc = new Scanner(System.in);
		
		int N = sc.nextInt();
		int[] arr = new int[N]; // 사용자가 입력한 값을 배열의 크기로 설정 
		
		for(int i=0; i<N; i++) {
			arr[i]=sc.nextInt();
		}
		
		Arrays.sort(arr);
		
		for(int i : arr)	
			System.out.println(i);
	}
}
  • グーグルで回答コードを検索したところ、重複する数字のコードはなかった.「レベル」の問題では、「数字は繰り返してはいけない」かもしれませんが、この部分の最初の意味はユーザーから繰り返した数字を書かないことです.
  • の全体的な脈絡には大きな違いはありません.
    強化されたfor文を使用して、強化されたfor文は左にfor文変数名、右に配列名を書きます.arr配列の値を出力します.
  • は、最終的にユーザが入力したすべての値を受け入れる.
    5>数値の個数
    1 2 3 4 5>5個の数字の5個の値
    1
    2
    3
    4
    5
    このように昇順を出力します.
  • 頭を絞って考えるべきではない問題だと思います.
    また、Array()の他にも、他のBubbleソートや挿入ソートなどを用いてソートする例が多く見られましたが、後で機会があれば一度試してみます.