```
백준 20978번 共通要素 (Common Elements) JAVA 구현해보기
```
이번 글을 통해 배워갈 내용
- 백준 20978 번 풀이
- 리스트 공통원소 스트림으로 찾기
- 리스트 중복원소 스트림으로 제거
- 리스트 정렬 스트림으로 하기
https://www.acmicpc.net/problem/20978
20978번: 共通要素 (Common Elements)
長さ N の整数列 A = (A1, A2, ..., AN) と長さ M の整数列 B = (B1, B2, ..., BM) が与えられる.A と B の両方に出現する整数をすべて,1 個ずつ昇順で出力せよ.
www.acmicpc.net
백준 20978번 공통 원소는
난이도 브론즈 등급의 문제로서
두 리스트를 입력받고
공통원소를 출력해주면 되는 문제입니다.
30분 정도 위에 링크를 방문하셔서 풀어보시고
안풀리시는 경우에만 아래 해답을 봐주시면 감사하겠습니다.
리스트를 입력받고
합친다음
중복원소 제거 하고 정렬후
출력해주면 되는 문제입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Comparator;
import java.util.List;
import java.util.StringTokenizer;
import java.util.stream.Collectors;
import java.util.stream.Stream;
public class Main {
public static void main(String[] args) throws IOException {
final BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
// 리스트 사이즈 입력
final int listSizeA = Integer.parseInt(st.nextToken());
final int listSizeB = Integer.parseInt(st.nextToken());
// 리스트 입력
List<Integer> listA = Stream.of(br.readLine().split("\\s+")).map(Integer::valueOf).collect(Collectors.toList());
List<Integer> listB = Stream.of(br.readLine().split("\\s+")).map(Integer::valueOf).collect(Collectors.toList());
// 리스트 합치기
List<Integer> listCommon = new ArrayList<>(listA);
listCommon.retainAll(listB);
// 리스트 정렬, 리스트 중복제거
listCommon = listCommon.stream().distinct().sorted(Comparator.naturalOrder()).collect(Collectors.toList());
// 리스트 출력
listCommon.forEach(System.out::println);
}
}
참조 문서
How to read multiple integer values from one line in Java using BufferedReader object?
I am using BufferedReader class to read inputs in my Java program. I want to read inputs from a user who can enter multiple integer data in single line with space. I want to read all these data in an
stackoverflow.com
https://stackoverflow.com/questions/5943330/common-elements-in-two-lists
Common elements in two lists
I have two ArrayList objects with three integers each. I want to find a way to return the common elements of the two lists. Has anybody an idea how I can achieve this?
stackoverflow.com
읽어주셔서 감사합니다
무엇인가 얻어가셨기를 바라며
오늘도 즐거운 코딩하시길 바랍니다 ~ :)
'Java > Java 알고리즘' 카테고리의 다른 글
백준 10823번 더하기 2 JAVA 구현해보기 (0) | 2022.02.01 |
---|---|
백준 1371번 가장 많은 글자 JAVA 구현해보기 (0) | 2022.02.01 |
백준 24086번 身長 (Height)JAVA 구현해보기 (0) | 2022.01.31 |
백준 1681번 줄세우기 JAVA 구현해보기 (0) | 2022.01.31 |
백준 10162번 전자레인지 JAVA 구현해보기 (0) | 2022.01.31 |