[JAVA]コードテスト構文
[追加中]
背中が大嫌いだけど、
coteでは検索環境やドキュメントが提供されない可能性があります.
知っておくべき文法を書いて、追加します.
(public static void main、変数宣言、classなどの作成は省略)
入力と出力
BufferedReader
BufferedWriter
文字列の比較
stringBuilderがスレッドを考慮しない場合、パフォーマンスは向上します.
[]と宣言するとarr[0]のように
またはarr.get(0)
2 Dアレイ
クラスを定義し、
1 e-9は1に10を乗じた-9平方を表し、-1 e 9は-1に10を乗じた9平方を表す
背中が大嫌いだけど、
coteでは検索環境やドキュメントが提供されない可能性があります.
知っておくべき文法を書いて、追加します.
(public static void main、変数宣言、classなどの作成は省略)
import java.util.*
でもいいです入力と出力
import java.util.Scanner
Scanner sc = new Scanner(System.in);
int r = sc.nextInt();
String s = sc.next();
3 3
AAA
BAB << 이런거 쉽게 입력받으려면? 아래 코드
CDC
for (int i = 0; i < r; i++) {
String tmp = sc.next();
for (int j = 0; j < c; j++) {
road[i][j] = tmp.charAt(j);
}
}
入力の最適化BufferedReader
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
n = Integer.parseInt(br.readLine());
// 또는 아래와 같이
StringTokenizer st = new StringTokenizer(br.readLine());
n = Integer.parseInt(st.nextToken());
m = Integer.parseInt(st.nextToken());
k = Integer.parseInt(st.nextToken());
}
BufferedReaderへの書き込みにはthrows IOExceptionまたはtryを使用して例外処理を行う必要がありますBufferedWriter
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
bw.write("test");
bw.flush(); // flush해야 출력됨
bw.close();
文字列文字列の比較
str1.compareTo(str2); // str1이 사전순으로 앞서면 음수 반환
// 같으면 0 반환, str2가 사전순으로 앞서면 양수 반환
stringBuffer vs stringBuilderstringBuilderがスレッドを考慮しない場合、パフォーマンスは向上します.
Scanner sc = new Scanner(System.in);
StringBuilder sb = new StringBuilder(sc.next());
// = new StringBuilder("zz");
sb.toString();
sb.append("zz");
sb.insert(1, "ang");
sb.substring(0, 3); // index : 0 ~ 2
sb.delete(1, 2); // index : 1 ~ 1
sb.deleteCharAt(1);
sb.setCharAt(0, 'z'); // 0번째를 'z'로 변경
sb.reverse();
データ構造[]と宣言するとarr[0]のように
またはarr.get(0)
2 Dアレイ
int[][] arr = new int[3][3]; // new int [][]는 안됨
ArrayList<edge>[] graph;
graph = new ArrayList[n];
for (int i = 0; i < n; i++)
graph[i] = new ArrayList<>();
Queueimport java.util.LinkedList;
import java.util.Queue;
Queue<String> q = new LinkedList<String>();
q.add("q.offer도 있음(offer은 반환까지");
String s = q.poll();
while(!q.isEmpty()) {} // q.empty() 아님
PriorityQueuePriorityQueue<edge> pq = new PriorityQueue<>();
// 역순서 : new PriorityQueue<>(Collections.reverseOrder());
オブジェクトのソートなどの特殊な状況が必要な場合.クラスを定義し、
implements Comparable<>
を使用class edge implements Comparable<edge> {
int start;
int end;
int value;
public edge(int start, int end, int value) {
this.start = start;
this.end = end;
this.value = value;
}
@Override
public int compareTo(edge n) {
return Integer.compare(value, n.value);
// 오름차순 정렬
// value > n.value 값이 양수면 자리 변경
}
}
HashmapMap<Character, myClass> myHashMap = new HashMap<>();
myHashMap.putIfAbsent('a', new myClass()); // (key, value)
myHashMap.get('a'); // key값으로 value 얻기
Set, iteratorstatic Set<String> mySet = new HashSet<String>();
mySet.add("test");
mySet.clear();
Iterator <String> it = mySet.iterator();
while(it.hasNext()) {
String s = it.next();
...
}
数学Math.log
Math.ceil
計算の下部が2のログMath.log(n) / Math.log(2)
BigInteger
1e9
1に10を乗じた9乗1 e-9は1に10を乗じた-9平方を表し、-1 e 9は-1に10を乗じた9平方を表す
System.out.println(1e9); // 1.0E9
System.out.println(2e9); // 2.0E9
System.out.println((int)1e9); // 1000000000 (10억)
System.out.println((int)2e9); // 2000000000 (20억)
Integerの最低価格を表示static final int INT_MAX = Integer.MAX_VALUE;
Reference
この問題について([JAVA]コードテスト構文), 我々は、より多くの情報をここで見つけました https://velog.io/@bty5596/JAVA-코딩테스트-문법テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol