인공지능이 발달했다 해도, 코테는 당연히 있기 때문에 기본적인 문법 및 알고리즘은 당연히 알고 있어야 한다. 하지만 기억이 하나도 안나기 때문에 모르는 것들 적어가면서 다시 복습하고자 한다.
이분 정리 잘햇드라
import java.io.BufferedReader;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
으로 정의하고,
String s = br.readLine();
으로 읽으며
bw.write(sum+"\n");
}
bw.flush();
bw.close();
꼴로 된다.
조심해야 할 부분은 readLine을 통해서는 String으로만 읽을 수 있어서
Integer.parseInt()를 해줘야한다.
bw write는 보통 안쓰고, StringBuilder로 형식 정해서 print한다.
public class Main {
public static void main(String[] args) {
StringBuilder sb = new StringBuilder(); // 선언
sb.append("출력\n"); // 출력 내용 추가
System.out.println(sb); // 출력
}
}
import java.io.*;
import java.util.*;
import java.math.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine());
BigInteger sum = BigInteger.ZERO; // 초기값 0
while (st.hasMoreTokens()) { // 토큰이 남아있는 동안 반복
sum = sum.add(new BigInteger(st.nextToken()));
}
bw.write(sum.toString());
bw.flush();
bw.close();
}
}
만약 StringTokenizer로 여러 줄을 받을 거면 다시 선언해줘야 한다.
// 첫 번째 줄 입력 (생년월일)
StringTokenizer st = new StringTokenizer(br.readLine());
int birthYear = Integer.parseInt(st.nextToken());
int birthMonth = Integer.parseInt(st.nextToken());
int birthDay = Integer.parseInt(st.nextToken());
// 두 번째 줄 입력 (기준 날짜)
st = new StringTokenizer(br.readLine());
그리고 날짜 관련된 라이브러리는 java.time.* 가지고와서 LocalDate로 만들어주자.

자바는 BigInteger를 지원한다. 파이썬은 한방에 되는데... import java.math.BigInteger 임포트하자.
import java.math.BigInteger;
BigInteger bigNumber = new BigInteger("10001");
System.out.println("덧셈(+) :" +bigNumber1.add(bigNumber2));
System.out.println("뺄셈(-) :" +bigNumber1.subtract(bigNumber2));
System.out.println("곱셈(*) :" +bigNumber1.multiply(bigNumber2));
System.out.println("나눗셈(/) :" +bigNumber1.divide(bigNumber2));
System.out.println("나머지(%) :" +bigNumber1.remainder(bigNumber2));
BigInteger bigNumber = BigInteger.valueOf(100000); //int -> BigIntger
int int_bigNum = bigNumber.intValue(); //BigIntger -> int
long long_bigNum = bigNumber.longValue(); //BigIntger -> long
float float_bigNum = bigNumber.floatValue(); //BigIntger -> float
double double_bigNum = bigNumber.doubleValue(); //BigIntger -> double
String String_bigNum = bigNumber.toString(); //BigIntger -> String
BigInteger bigNumber1 = new BigInteger("100000");
BigInteger bigNumber2 = new BigInteger("1000000");
int compare = bigNumber1.compareTo(bigNumber2);
BigInteger bigNumber1 = new BigInteger("50");
BigInteger bigNumber2 = new BigInteger("1000");
BigInteger bigNumber2_same = new BigInteger("1000");
int compare = bigNumber1.compareTo(bigNumber2);
System.out.println("작은 수를 큰 수랑 비교 할 때 : " + compare); // -1
int compare2 = bigNumber2.compareTo(bigNumber2_same);
System.out.println("2개의 수가 같을 때 : " + compare2); // 0
int compare3 = bigNumber2.compareTo(bigNumber1);
System.out.println("큰 수를 작은 수랑 비교할 때 : " + compare3); // 1