마이의 개발 블로그

[프로그래머스] 카드 뭉치 (Java) 본문

코딩테스트/프로그래머스

[프로그래머스] 카드 뭉치 (Java)

개발자마이 2023. 2. 18. 03:05
반응형
 

프로그래머스

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

programmers.co.kr

새로 생긴 문제라 풀긴 했는데 난이도가 낮고 간단하게 풀려서 남기기가 좀 애매하지만 그래도 기록용으로 써본다.

 

- 카드뭉치 1, 2의 인덱스를 각각 선언

- goal에서 단어를 가져올 때마다 카드뭉치 1, 2의 현재 인덱스(idx1, idx2)에 해당하는 단어와 일치하는지 확인

- 일치하는 단어가 있는 경우 그 카드뭉치의 인덱스만 증가시킨 후 continue

- goal의 단어가 카드뭉치 1, 2의 현재 단어와 둘 다 일치하지 않는 경우 "No" 지정 후 break

 

Note

- continue를 즐겨 사용하는 편은 아니지만 의식의 흐름대로 쓰다보면 이렇게 써지기도 한다(else로 대체가능).

class Solution {
    public String solution(String[] cards1, String[] cards2, String[] goal) {
        String answer = "Yes";
        
        int idx1 = 0;
        int idx2 = 0;
        
        for(String word : goal){
            if(idx1 < cards1.length){
                if(cards1[idx1].equals(word)){
                    idx1++;
                    continue;
                }
            }
               
            if(idx2 < cards2.length){
                if(cards2[idx2].equals(word)){
                    idx2++;
                    continue;
                }
            }
               
            answer = "No";
            break;
        }
        
        return answer;
    }
}
반응형
Comments