개인 공부/TIL

[ TIL - PGS ] 99클럽 코테 스터디 19일차 TIL + 오늘의 학습 가이드

킴도비 2024. 8. 9. 21:11

💡 오늘의 학습 키워드

  • 그리디

 

✅ 오늘 공부한 내용

  • 오늘의 프로그래머스 문제! 구명보트
 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

👀 오늘의 회고

🤣 오늘의 문제점

  • 오늘은 효율성에서 걸리고.. 2명만 타야하는데 어떻게 조건을 세울지가 문제였다..!

 

🔥 어떤 시도를 했는가?

  • 초반에 구조를 짤 때 우선순위 큐를 쓸지 투포인터를 쓸지 고민을 했다.
  • 아무래도 탐욕법이다 보니.. 제일 좋아보이는걸 먼저 선택해야 했기 때문에..
  • 그래서 투포인터로 선택했다.
import java.util.*;

class Solution {
    public int solution(int[] people, int limit) {
        Arrays.sort(people);
        
        int left = 0;
        int right = people.length - 1;
        
        int answer = 0;
        
        while(left <= right){
            if(people[left] + people[right] <= limit){
                left++;
            }
            
            right--;
            answer++;
        }
        return answer;
    }
}

 

👏 무엇을 새로 알았는가?

  • 2명만 태울 수 있다는 조건이 있을 때 사용할 투포인터 방법
  • Deque로도 풀 수 있는 문제였다. 나중에 도전하는 것도 나쁘지 않을 것 같다!

 

👩‍💻 내일은 무엇을 학습할 것인가?

  • 항해 99 문제
  • 책 읽기