알고리즘문제를 풀다보면
BufferedReader를 많이 사용한다.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
주로 br.readLine(); 을 사용한다.
bufferedReader로 읽어온 타입은 String이라서 int로 변경해준다.
입력은 보통이런식이다
A 유형
1=< N <=200,000,000 일때
3
B 유형
1=< N <=200,000,000 일때 , N은 2개이상 500개이하이다.
3 31 35 15 63 9293 1 32 8 135
A유형은 Integer.parseInt로 간단한 형변환이 되지만
B유형은 그렇지 않다.
B유형의 경우
int[] (배열) 그리고 List<Integer> 로 변환하는 예제를 써볼까한다.
int[] (배열)
int[] arr = Arrays.stream(br.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
List<Integer>
List<Integer> list = Arrays.stream(br.readLine().split(" "))
.mapToInt(Integer::parseInt)
.boxed().collect(Collectors.toList());
List 같은경우에는 ArrayList처럼 상속클래스가 필요한경우에는 캐스팅형변환 하여 되지만
본인은 형변환 (Int), (String)등의 형변환은 자제하는편이라 선호하지않는다.
또 List를 쓰다보면 자주 쓰는 정렬 방식을 남기면서 글 마치겠다.
// 내림차순 정렬
list.sort(Comparator.reverseOrder());
// 오름차순 정렬
list.sort(Comparator.naturalOrder());
'ㆍJava' 카테고리의 다른 글
[자바/JAVA] 전화번호 정규식 검증 (0) | 2022.06.16 |
---|---|
[자바]매일매일 날짜는 바뀌고 시간만 고정 비교 테스트 (0) | 2022.01.10 |
[자바/java] 날짜 며칠->몇년 차이 비교하기 (1) | 2021.11.23 |
[IntelliJ/인텔리제이] 인텔리제이 터미널 깃배쉬(git bash)로 변경 (0) | 2021.11.12 |
[자바/JAVA] String 문자열 int 배열로 변환 (0) | 2021.09.26 |