import java.util.Arrays;
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public static void main(String[] args) {
int [] A = {1, 3, 6, 4, 1, 2};
solution(A);
}
public static int solution(int[] A) {
// write your code in Java SE
A = Arrays.stream(A).distinct().toArray();
Arrays.sort(A);
for(int i : A){
System.out.println(i);
}
if(A[0] < 0){
return 1;
}
for(int i = 1; i < A[A.length-1]; i++){
if(i != A[i-1]){
return i;
}
}
return A[A.length-1]+1;
}
}
1차는 0으로 시작되는거 체크 안해서 탈락...
import java.util.Arrays;
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public static void main(String[] args) {
int [] A = {1, 3, 6, 4, 1, 2};
A = new int[101];
for(int i = 0; i < A.length; i++){
A[i] = i;
}
int a = solution(A);
System.out.println(a);
}
public static int solution(int[] A) {
// write your code in Java SE
A = Arrays.stream(A).distinct().toArray();
Arrays.sort(A);
if(A[0] < 0){
return 1;
}else if(A[0]==0){
for(int i = 0; i < A[A.length-1]; i++){
if(i != A[i]){
return i;
}
}
}else{
for(int i = 1; i < A[A.length-1]; i++){
if(i != A[i-1]){
return i;
}
}
}
return A[A.length-1]+1;
}
}
2차는 ... 66%라니!
검색을 해본다.
import java.util.HashSet;
import java.util.Set;
// you can also use imports, for example:
// import java.util.*;
// you can write to stdout for debugging purposes, e.g.
// System.out.println("this is a debug message");
class Solution {
public static void main(String[] args) {
int [] A = {1, 3, 6, 4, 1, 2};
A = new int[101];
for(int i = 0; i < A.length; i++){
A[i] = i;
}
int a = solution(A);
System.out.println(a);
}
public static int solution(int[] A) {
// write your code in Java SE
int answer = 1;
Set <Integer> set = new HashSet<>();
for(int i : A){
if(i > 0){
set.add(i);
}
}
for(int i = 1; i <= set.size()+1; i++){
if(set.contains(i) == false){
answer = i;
break;
}
}
return answer;
}
}
sort를 안 쓰는 방향으로 set을 써서 푸는군요...
똑똑박사가 많은 것입니다.
순서대로 sort 안 해도 되고, 중복 없고!
contains는 시간복잡도 크게 상관 없나 보다...
set ... 코딩 테스트에 많이 도움 받는군...
댓글
댓글 쓰기