https://programmers.co.kr/learn/courses/30/lessons/42862
해결 방안
문제에 따른 단순 구현으로 해결함
1. answer에 전체 사람 수 만큼 저장
2. lost, reverse에 같이 포함되어있는 학생이 있으면 -1로 바꿈
3. lost 돌면서 reverse에서 빌려 줄수 있는지 확인하고 못빌려주면 answer--
코드
// 체육복
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
answer = n;
// lost, reverse에 같이 포함되어 있는 학생 있으면 -1로 바꿈
for(int i=0; i<lost.length; i++){
for(int j=0; j<reserve.length; j++){
if(lost[i] == reserve[j]){
lost[i] = -1;
reserve[j] = -1;
}
}
}
// lost 돌면서 reserve에서 빌려 줄 수 있는지 확인하고 못빌려주면 answer--
for(int i=0; i<lost.length; i++){
if(lost[i] == -1)
continue;
boolean rentCheck = false;
int j=0;
while(j < reserve.length){
if(reserve[j] == -1){
j++;
continue;
}
if(lost[i] == (reserve[j] -1) || lost[i] == (reserve[j] + 1) ){
rentCheck = true;
reserve[j] = -1;
break;
}
else{
j++;
}
}
if(!rentCheck)
answer--;
}
return answer;
}
}
'Development Logs > Algorithms' 카테고리의 다른 글
[JAVA] 프로그래머스 : 구명보트 (코딩테스트 고득점 kit > 탐욕법(Greedy)) (0) | 2020.08.04 |
---|---|
[JAVA] 프로그래머스 : 가장 먼 노드 (코딩테스트 고득점 kit > 그래프) (0) | 2020.08.03 |
[JAVA] 프로그래머스 : 도둑질 (코딩테스트 고득점 kit > 동적계획법(Dynamic Programming)) (0) | 2020.07.29 |
[JAVA] 프로그래머스 : 단어 변환 (코딩테스트 고득점 kit > 깊이/너비 우선 탐색(DFS/BFS)) (0) | 2020.07.28 |
[JAVA] 프로그래머스 : 정수 삼각형 (코딩테스트 고득점 kit > 동적계획법(Dynamic Programming)) (0) | 2020.07.28 |