반응형
https://programmers.co.kr/learn/courses/30/lessons/42862
1. 2022.04.09 시도
소요시간: 11분
import java.util.*;
class Solution {
public int solution(int n, int[] lost, int[] reserve) {
int[] student = new int[n];
Arrays.fill(student, 1);
for (int i=0; i<reserve.length; i++) {
student[reserve[i]-1]++;
}
for (int i=0; i<lost.length; i++) {
student[lost[i]-1]--;
}
int counter =0;
for (int i=0; i<n; i++) {
if (student[i] >= 1) {
counter ++;
} else {
if (i>0 && student[i-1] == 2) {
student[i-1]--;
counter++;
} else if (i<n-1 && student[i+1]==2) {
student[i+1]--;
counter++;
}
}
}
return counter;
}
}
풀이 접근 과정
학생들의 상태를 0,1,2로 표시한다.
2=여별 있는 학생, 1=체육복있는 학생, 0=체육복 없는 학생
그다음에 배열에 어긋나지 않게 앞에 사람, 뒤에 사람에게 빌리는 코드를 짠다.
느낀점
- 하나씩 잘 풀어가니 잘 풀렸다.
알고리즘 정리노트: .leetcode(알고리즘 문제풀이 접근)
반응형
'알고리즘 풀이' 카테고리의 다른 글
.review(알고리즘 문제풀이 접근) (0) | 2022.04.11 |
---|---|
.programmers(조이스틱) (0) | 2022.04.09 |
.programmers(카펫) (0) | 2022.04.09 |
.programmers(소수 찾기) (0) | 2022.04.09 |
.programmers(모의고사) (0) | 2022.04.09 |