1. 첫 번째 풀이
public int solution7(int n, int[] lost, int[] reserve) {
int answer = 0;
n = n - lost.length;
System.out.println("n : " + n);
ArrayList<Integer> reserve2 = new ArrayList<Integer>();
for(int i = 0; i < reserve.length; i = i + 1) {
reserve2.add(reserve[i]);
}
for(int i = 0; i < lost.length; i = i + 1) {
for(int j = 0; j < reserve2.size(); j = j + 1) {
if((lost[i]-1) == reserve2.get(j)) {
reserve2.remove(j);
n += 1;
break;
}else if((lost[i] + 1) == reserve2.get(j)) {
reserve2.remove(j);
n += 1;
break;
}
}
System.out.println("n : " + n);
}
answer = n;
return answer;
}
2. 두 번째 풀이
import java.util.ArrayList;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
n = n - lost.length;
System.out.println("n : " + n);
ArrayList<Integer> lost2 = new ArrayList<Integer>();
for(int i = 0; i < lost.length; i = i + 1) {
lost2.add(lost[i]);
}
ArrayList<Integer> reserve2 = new ArrayList<Integer>();
for(int i = 0; i < reserve.length; i = i + 1) {
reserve2.add(reserve[i]);
}
for(int i = 0; i < lost2.size(); i = i + 1) {
for(int k = 0; k < reserve2.size(); ) {
if(lost2.get(i) == reserve2.get(k)) {
lost2.remove(i);
reserve2.remove(k);
n = n + 1;
i = i - 1;
break;
}
k = k + 1;
}
System.out.println("n : " + n);
}
for(int i = 0; i < lost2.size(); i = i + 1) {
for(int k = 0; k < reserve2.size(); ) {
if((lost2.get(i) - 1) == reserve2.get(k)) {
lost2.remove(i);
reserve2.remove(k);
n = n + 1;
i = i - 1;
break;
}else if((lost2.get(i) + 1) == reserve2.get(k)) {
lost2.remove(i);
reserve2.remove(k);
n = n + 1;
i = i - 1;
break;
}
k = k + 1;
}
System.out.println("n : " + n);
}
answer = n;
return answer;
}
}
3. 다른 사람 풀이
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int[] people = new int[n];
int answer = n;
for (int l : lost)
people[l-1]--;
for (int r : reserve)
people[r-1]++;
for (int i = 0; i < people.length; i++) {
if(people[i] == -1) {
if(i-1>=0 && people[i-1] == 1) {
people[i]++;
people[i-1]--;
}else if(i+1< people.length && people[i+1] == 1) {
people[i]++;
people[i+1]--;
}else
answer--;
}
}
return answer;
}
}
'알고리즘 공부 > 프로그래머스' 카테고리의 다른 글
프로그래머스 코딩테스트 연습 - 연습문제 - 같은 숫자는 싫어 (0) | 2020.09.21 |
---|---|
프로그래머스 코딩테스트 연습 - 연습문제 - 2016년 (0) | 2020.09.17 |
프로그래머스 코딩테스트 연습 - 정렬 - K번째수 (0) | 2020.09.16 |
프로그래머스 코딩테스트 연습 - 완전탐색 - 모의고사 (0) | 2020.09.16 |
프로그래머스 코딩테스트 연습 - 월간 코드 챌린지 시즌1 - 두 개 뽑아서 더하기 (0) | 2020.09.16 |