[코드트리 챌린지] 6주차 ,,?

헨리·2023년 10월 23일
0

코드트리

목록 보기
6/7

으윽 ,, DP 였구나 ,, 걸려버렸다

맞아요 분명 봤던 문젠데 ,, 다익스트라로 풀려고 해버렸네
저번 평가에도 dp는 2초남기고 풀었었네 .. dp 너무 어렵다

오늘 작성할 문제는 G or H 2!
https://www.codetree.ai/missions/5/problems/G-or-H-2?&utm_source=clipboard&utm_medium=text

흠 사진의 크기?...
사실 이 문제를 처음 접한건 9월 7일인데....
아이디어가 바로 생각 안나서 넘겨둔 문제다..
이걸 거의 한달 지나서 다시보니 아이디어가 떠올랐다.

왼쪽부터 오른쪽까지 전부 보면서 조건에 맞으면 길이가 가장 큰지 확인하는 방법으로 풀었는데,
뭔가 쉬운건데 왜 생각이 안났을까 ㅜ
그래서 dp를 못하나

맞추고나서 해설을 보니 해설과 비슷하게 풀었더라~

import java.util.*;

public class Main {
    public static int n, arr[];
    public static int[] person = new int[10001];
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        arr = new int[n+1];
        int max = 0;
        for(int i=0;i<n;i++){
            int a = sc.nextInt();
            String b = sc.next();
            if(b.equals("G")){
                person[a] = 1;
            } else {
                person[a] = 2;
            }
        }
        for(int i=1;i<101;i++){ 
            if (person[i]==0){continue;}
            int g = 0;
            int h = 0;
            for(int j=i;j<101;j++){
                if (person[j]==0){continue;}
                else if(person[j]==1){
                    g++;
                } else {
                    h++;
                }
                if(g == 0 || h == 0 || g == h){
                   max = (j - i > max)? j - i:max;     
                }
            }
            
        }
        System.out.println(max);


    }
}
profile
개발자?

0개의 댓글