본문 바로가기
개인 공부/TIL

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

by 킴도비 2024. 8. 10.

💡 오늘의 학습 키워드

  • 그리디

 

✅ 오늘 공부한 내용

  • 오늘은 그리디 방법 답게 생각하는 것이 핵심이었다 🤔
  • 오늘의 프로그래머스 문제! 큰 수 만들기
 

프로그래머스

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

programmers.co.kr

 

 

👀 오늘의 회고

🤣 오늘의 문제점

  • 초반엔 투포인터로 풀려고 했는데 잘 안풀려서..고민을 했는데 투포인터로 사용하는데 단지 방식을 다르게 풀어야 했던 문제였다.

 

🔥 어떤 시도를 했는가?

  • 이번에는 그 때 사전(Dictionary) 문제처럼 범위를 구해서 푸는게 제일 좋은 문제였다.
  • 일정 부분 범위에서 가장 큰 값을 찾으면 되었던 거라
  • 만약 K가 5라고 하는데 글자수가 10자라 치면 앞에 5자에서 최대 값을 찾고 그 최댓값 인덱스에서 두 번째 자릿값을 찾는 식의 반복을 하면 되는 문제였다.
class Solution {
    public String solution(String number, int k) {
        String answer = "";
        StringBuilder sb = new StringBuilder();

        char[] arr = number.toCharArray();
        
        int len = arr.length - k;
        
        int start = 0;

        for(int i =0; i<len; i++){
            char max = '0';
            for(int j = start; j <= i + k; j++){
                
                if(array[j] > max){
                    max = arr[j];
                    start=j+1;
                }
            }
            
            sb.append(Character.toString(max));
        }
        
        
        answer = sb.toString();
        return answer;
    }
}

 

👏 무엇을 새로 알았는가?

  • 좀 더 그리디답게 생각하는 법..?

 

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

  • 항해99문제 풀기
  • 책 읽기!