1. 문제
https://www.acmicpc.net/problem/2751
2. 풀이과정
1. 중복된 수가 들어오지 않으므로, 1차원 배열에 값이 있는지 여부를 기록한다.
2. 배열의 index는 절댓값이 1_000_000이하이기 때문에, 음수도 가능하므로 (들어온 값) + 1_000_000으로 하여 값을 true로 바꿔준다.
3. 출력할 때, 배열을 처음부터 끝까지 돌면서 true면 (index값) - 1_000_000하여 결과를 출력한다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int su = Integer.parseInt(br.readLine());
boolean arr[] = new boolean[2_000_001];
for(int i=0; i<su; i++){
arr[Integer.parseInt(br.readLine())+1_000_000] = true;
}
StringBuilder sb = new StringBuilder();
for(int i=0; i<=2_000_000; i++){
if(arr[i]){
sb.append(i-1_000_000).append("\n");
}
}
System.out.println(sb);
}
}
결과
'코딩문제풀이 > Baekjoon' 카테고리의 다른 글
[Java] 백준 2251번 : 물통 (0) | 2023.01.02 |
---|---|
[Java] 백준 20055번 : 컨베이어 벨트 위의 로봇 (0) | 2023.01.02 |
[Java] 백준 2310번 : 어드벤처 게임* (0) | 2022.12.30 |
[Java] 백준 21924번 : 도시 건설 (0) | 2022.12.29 |
[Java] 백준 1747번 : 소수&팰린드롬 (0) | 2022.12.28 |