Google 태그 관리자 아이콘

알고리즘 풀이

.programmers(체육복)

silvergoni 2022. 4. 9. 09:33
반응형

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