22.4.15 [HackerRank]Java Loops I


▼▼▼▼▼▼▼

import java.io.*;
import java.math.*;
import java.security.*;
import java.text.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.function.*;
import java.util.regex.*;
import java.util.stream.*;
import static java.util.stream.Collectors.joining;
import static java.util.stream.Collectors.toList;



public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));

        int N = Integer.parseInt(bufferedReader.readLine().trim());
        if(N>=2 && N <=20){
            for (int i=1; i<=10; i++){
                System.out.printf("%d x %d = %d%n", N, i, N*i);
            }
        }
        bufferedReader.close();
    }
}

解釈と分析


Java反復文(loop)を使用して解決した問題です.
その前に、よく見ていて当たり前のように、主関数を始めるときに使う文法をよく読みました.
public static void main(String[] args)
* public: 당연하게도 메인함수는 어디서나 접근 가능해야 하므로 제한자를 public으로 설정
* static: 역시 메인함수이므로 가비지 콜렉터가 관여할 수 없는 static 영역에 메모리를 할당해 준다. GC에 의해 메인 함수가 정리된다면 프로그램 자체가 죽기 때문! 항상 메모리에 상주하도록 static을 준다.
* void: 역시 메인 함수이므로 리턴 값이 없게 함수를 만든다.
* main: 이건 그냥 메인! 이라는 의미
* String[] args: string을 배열로 사용하겠다는 의미. 자바 프로그램 실행 시 주어진 옵션들이 자동으로 담긴다.
BufferedReaderはScannerに似ていますが、より高速です.入力したデータはバッファを介して伝達され、処理効率が向上し、大量のデータの処理に有利である.
実はまだ1つの段階を経なければならないのに、どうしてまだ速いのですか.これに疑問があり、私は一つの比喩を見て理解しました.土をカートに入れて捨てるのは、直接土をすくって捨てるよりも効率的で、より多くの量を捨てることができます.
The buffer size may be specified, or the default size may be used. The default is large enough for most purposes.
本書では、バッファのサイズを指定できますが、デフォルト値も十分大きいので、ほとんどの場合、直接使用してもかまいません.
InputStreamReaderについてはリンクを参照してください
問題は簡単だ.整数Nが与えられ、1より大きく、10より小さいi値を乗算し、結果を新しい行に出力し、10行を生成する.
条件では、Nの範囲は2以上、20以下の整数であるので、以下に示す.
if(N>=2 && N <=20)
次の整数Nにiを乗じた範囲にも条件が与えられる.
for (int i=1; i<=10; i++) // i 변수를 1로 초기화하고, 10보다 작거나 같을때까지 하나씩 증가시키며 프로그램을 수행한다.
昨日習ったように文字列フォーマットを出力すればいいのですが、Nxi=resultという形でそれぞれ新しい行に書くので、以下のようになります.
System.out.printf("%d x %d = %d%n", N, i, N*i); // 곱해지는 값이 Int형으로 출력되도록 %d를 사용하고, %n으로 개행해주면 된다.
提出が上手です.

👉 リファレンス

  • https://docs.oracle.com/javase/8/docs/api/java/io/BufferedReader.html
  • https://st-lab.tistory.com/41