알고리즘 문제 풀면서 정리
배열 내부 특정 요소 갯수
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
-
입출력 효율이 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);
- 반올림하여 소수점 셋째자리까지 표현함
- Math.round(cnt*1000)/1000.0
- 반올림하여 소수점 셋째 자리까지 표현함
- 소수점이 0이면 표현 못함
Author And Source
이 문제에 관하여(알고리즘 문제 풀면서 정리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@khyun9512/알고리즘-문제-풀면서-정리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)