티스토리 뷰
조건을 하나 정해놓고 근사치를 뽑을 때까지 반복하면 되는 전형적인 Greedy 문제이다.
체육복의 여벌이 있는 학생이 체육복을 도둑맞았을 때는 자신의 체육복을 써야 하므로, reserve 배열에서 빠져야 한다는 점을 제외하고는 크게 문제 될 게 없는 문제이다.
정석대로 풀면 이중 for문이 2번 들어가게 된다. 이, 삼중 for 문에 좀 많이 당해봤던터라...그 풀이가 좀 보기 싫어서 Set도 만들어보고, List도 만들어보고 했지만, 이 문제는 그냥 이게 정답이지 싶어서 포기했다...ㅎㅎ
package com.choonham;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int answer = 0;
int lostN = lost.length;
int reserveN = reserve.length;
int temp = n - lostN;
for(int i = 0; i < lostN; i++) {
for(int j = 0; j < reserveN; j++) {
if(lost[i]==reserve[j]) {
temp++;
lost[i] = reserve[j] = -1;
break;
}
}
}
for(int lostP : lost) {
for(int j = 0; j < reserveN; j++) {
if(reserve[j] == lostP + 1 || reserve[j] == lostP - 1) {
temp++;
reserve[j] = -1;
break;
}
}
}
answer = temp;
return answer;
}
}
아니 뭐 별 어려운 문제도 아닌데.... 괜히 자존심 부리다가 힘만 뺐다..
반응형
'[JAVA] > Programmers' 카테고리의 다른 글
[JAVA] Programmers <Greedy LV2> 큰 수 만들기 (0) | 2021.04.12 |
---|---|
[JAVA] Programmers <Greedy LV2> 조이스틱 (0) | 2021.04.09 |
[JAVA] Programmers <완전 탐색 LV2> 카펫 (0) | 2021.04.06 |
[JAVA] Programmers <완전 탐색 LV2> 소수 찾기 (0) | 2021.04.05 |
[JAVA] Programmers <완전 탐색 LV1> 모의고사 (0) | 2021.04.04 |
Comments
최근에 올라온 글
최근에 달린 댓글
TAG
- 파니노구스토
- Promise
- 이탈리안 레스토랑
- javascript
- redux-thunk
- Async
- 정보보안기사 #실기 #정리
- redux
- 인천 구월동 이탈리안 맛집
- AsyncStorage
- 맛집
- 인천 구월동 맛집
- await
- react
- react-native
- Total
- Today
- Yesterday