[TIL] 알고리즘은 어려워(with 카드 뭉치)

J쭈디·2024년 11월 30일
0

오늘도 나는 천방지축 어리둥절 빙글빙글 알고리즘을 푸는 중이다.
그러나, 슬슬 내 머리로 한계가 오고 있다는 걸 느끼고 있다.
가끔 내 머리가 돌인가 생각해요

아무튼, 오늘은 그리하여 실패한 알고리즘 문제에 대한 이야기를 하기로 했다.
일단 내가 공부하고 있는 스파르타 코딩클럽의 경우 매일매일 알고리즘 루틴이 있는데 요즘 나오는 루틴 문제들이 풀기 어렵다는 생각이 종종 든다. 솔직히 문제 자체가 어렵다기보단 내가 삐끗(?) 하는 경우가 많기 때문에 아쉽기도 하다.

오늘의 문제는 카드 뭉치 라는 문제다. 문제를 이해는 했는데, 어떻게 풀어야 될 거 같은것도 아는데 내가 탐색문제, 이중 배열 등 취약한 부분이 있는 게 확실한 거 같다.

완전히 틀리는 것도 아니고 정말 뭔가 실수한 게 분명한데 그게 뭔지 못 찾고 있다.
그렇다고 알고리즘 문제에만 계속 매달려서 풀 수도 없는 노릇이기 때문에 일단 오늘의 실패는 여기 기록해두고, 나중에 다시 풀기로 했다.

class Solution {
    public String solution(String[] cards1, String[] cards2, String[] goal) {
        String answer = "";
        int len1 = 0;
        int len2 = 0;
        
        for(int i=0;i<goal.length;i++){
            if(!goal[i].equals(cards1[len1]) && !goal[i].equals(cards1[len2])){
                return "No";
            }else{
               if(goal[i].equals(cards1[len1])){
                if(i == goal.length-1){
                    answer = "Yes";
                    return answer;
                }len1++;
            }else if (goal[i].equals(cards1[len2])){
                if(i == goal.length-1){
                   answer = "Yes"; 
                    return answer;
                } len2++;
        } 
            }
        }
        return answer;
    }
}

뭐가 문제였을까? 여러 번 고쳤는데도 계속 예시 문제가 전체가 Yes가 되거나 또는 전체가 No가 되는 문제가 생겼다.
아무래도 조건문 자체에 문제가 있는 것 같은데, 그게 정말 ... 계속 파기엔 시간도 아깝고 나중에 풀리면 허무할 수준의 문제인 게 확실하기 때문에 일단 접어두기로 했다.

돌머리라서 포기하는 게 아니에요

profile
언제 어느 위치에 있더라도 그 자리의 최선을 다 하는 사람이 되고 싶습니다.

0개의 댓글