Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- useRef 지역 변수
- 머쓱이
- 리팩토링 회고
- 백준 node.js
- 모던 자바스크립트 Deep Dive TIL
- KDT 프로그래머스 데브코스 프론트엔드
- 프로그래머스 K_Digital Training
- TypeScript 문법 소개
- Vue3 Router
- 프로그래머스 데브코스 프론트엔드
- KDT 프로그래머스
- 프로그래머스 데브코스
- 백준 js
- react 프로젝트 리팩토링
- 개발자 특강
- K_Digital Training
- 모던 자바스크립트 딥다이브
- 프로그래머스 K_Digital Training 프론트엔드
- 모던 javascript Deep Dive
- 모던 자바스크립트 TIL
- useEffect return
- 인프런 자바스크립트 알고리즘 문제풀이
- 모던 자바스크립트 Deep Dive
- Frontend Roadmap
- frontend roadmap study
- 투포인터알고리즘 js
- 프로그래머스 데브코스 프론트엔드 TIL
- 우테캠 회고록
- react customHook 예시
- Vue3
Archives
- Today
- Total
프론트엔드 개발자의 기록 공간
[프로그래머스 JavaScript] 체육복 본문
프로그래머스 Level1 체육복 문제 -> 탐욕법(Greedy) 유형
문제 설명 : 체육복을 읽어버린 학생중 몇명이 빌릴 수 있는지 파악하면 되는 문제이다.
마지막 제한사항이 제일 중요하다. 잃어버린 학생 자신이 여분이 있을 경우,
자기 자신것을 입으면 되기때문에 lost, reserve에 중복된 학생 정보가 있으면 삭제 후,
위의 조건을 해결하면 된다.
코드 설명 : 첫번째 for문에서 잃어버린 학생 자신이 여분이 있을 경우, 중복 처리해주는 로직이다.
해당 로직 수행후 중복 제거된 정보는 tmpLost, reserve에 담긴다.
두번째 for문을 통해 잃어버린 학생들의 정보를 순회하면서 앞과 뒤학생 정보를 여분의 학생정보에서 찾는다.
찾았다면 여분의 학생정보를 삭제 해주고 cnt를 증가한다.
모든 로직이 수행이 끝났다면, cnt는 빌려준 횟수가 담겨져있다.
최종적으로 체육 수업들을 수 있는 학생을 구할려면 총 학생 - (잃어버린 학생 - 빌려준 횟수)의 연산을
수행하면된다.
해당 로직은 2번의 반복문이 수행되었고 반복문안에 indexOf나 includes를 수행했으므로
시간 복잡도는 O(n^2)을 가진다.
728x90
'알고리즘_JS > 프로그래머스_Level1' 카테고리의 다른 글
[프로그래머스 JavaScript] 크레인 인형뽑기 게임 (0) | 2021.06.06 |
---|---|
[프로그래머스 JavaScript] 키패드 누르기 (0) | 2021.06.06 |
[프로그래머스 JavaScript] 모의고사 (0) | 2021.05.22 |
[프로그래머스 JavaScript] K번째수 (0) | 2021.05.22 |
[프로그래머스 JavaScript] 완주하지 못한 선수 (0) | 2021.05.20 |
Comments