アルゴリズムの問題を解くときの整理

18894 ワード

アレイ内の特定の要素の数

Scanner sc = new Scanner(System.in);
List<String> numbers = new ArrayList<>(Arrays.asList(sc.nextLine().split(" ")));
int count = Collections.frequency(numbers, "1");

ツールバーの

  • Arrays.sort(配列名)
  • import java.util.Arrays;
  • 最小値から最大値へのソート
  • 最小:a[0]、最大:a[a.length-1]
  • BufferedReader / BufferWriter


  • I/O効率はScannerより優れている

  • BufferedReader

  • 企業のみ

  • 受信データはStringに固定

  • 使用方法
    // 콘솔에서 입력
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    
    // 형변환
    int num = Integer.parseInt(br.readLine());
    br.close();	// 입출력이 끝난 후 달아주기

  • データをスペースで区切る
    // 첫번째 방법
    StringTokenizer st = new StringTokenizer(s);//StringTokenizer인자값에 입력 문자열 넣음 int a = Integer.parseInt(st.nextToken()); //첫번째 호출
    int b = Integer.parseInt(st.nextToken()); //두번째 호출
    // 두번째 방법
    String array[] = s.split(" "); //공백마다 데이터 끊어서 배열에 넣음

  • BufferWriter

  • 改行するには、上書き文字を追加する必要があります.

  • 使用方法
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    bw.write("hello\n"); // 출력
    bw.newLine();	// 개행 즉 엔터 역할
    bw.write("I am writing\n");	// 개행과 함께 출력
    bw.flush();	// 남아있는 데이터를 모두 출력
    bw.close();	// 스트림

  • import java.io.BufferedReader;
    import java.io.BufferedWriter;
    import java.io.IOException;
    import java.io.InputStreamReader;
    import java.io.OutputStreamWriter;
    import java.util.StringTokenizer;
    
    public class Main {
    	public static void main(String[] args) throws NumberFormatException, IOException {
    		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    		BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    		int n = Integer.parseInt(br.readLine());
    		StringTokenizer st;
    		for(int i=1;i<=n;i++) {
    			st = new StringTokenizer(br.readLine());
    			bw.write((Integer.parseInt(st.nextToken()))+(Integer.parseInt(st.nextToken()))+"\n");
    		}
    		br.close();
    		bw.flush();
    		bw.close();
    	}
    }
  • BigInteger

  • 文字列で構成されており、数字の範囲は無限であり、任意の数字を含むことができる
  • 用法
  • Scanner sc = new Scanner(System.in);
    		
    BigInteger one = new BigInteger(sc.next());
    BigInteger two = new BigInteger(sc.next());
    System.out.println("덧셈(+) :" +one.add(two));
    System.out.println("뺄셈(-) :" +one.subtract(two));
    System.out.println("곱셈(*) :" +one.multiply(two));
    System.out.println("나눗셈(/) :" +one.divide(two));
    System.out.println("나머지(%) :" +one.remainder(two));

    文字列

  • String chk = sc.next();
  • chkに文字列を格納
  • chk.charAt(j);
  • chkはj文字を返す
  • 小数点

  • String.format("%.3f",cnt);
  • 小数点3位まで四捨五入
  • Math.round(cnt*1000)/1000.0
  • 小数点3位まで四捨五入
  • 小数点0では表示されない