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

2023. 2. 16. 20:47·코딩 테스트

마스터즈 코스를 진행하며 CS 공부하기에도 시간이 너무 부족하지만

하루에 한 문제씩 알고리즘 문제 풀기를 다시 시작하려고 한다.

 

요즘 프로그래머스에 문제들이 많이 추가되고 있다.

예전에 프로그래머스 2단계 문제까지 전부 다 풀었었는데 추가된 문제가 많아서

전부 다 풀어보고 3단계로 가야겠다!

 


 

로직

사실 문제가 너무 간단해서 로직을 크게 생각하지 않았다.

goal 배열을 순회하면서 cards1 배열과 cards2 배열을 동시에 탐색하면 된다.
각 cards 배열의 인덱스를 만들고 배열의 크기를 벗어나지 않으면서 goal 문자와 같으면

인덱스를 추가하고 다음 문자로 넘어간다.

만약 어떤 cards 배열의 어떤 문자도 일치하지 않으면 바로 No를 리턴해서 탐색을 종료한다.

모든 탐색이 종료되면 문자열을 만들 수 있다는 것이므로 Yes를 리턴한다.

 

최종 코드

class Solution {
    public String solution(String[] cards1, String[] cards2, String[] goal) {
        String answer = "Yes";

        int card1Index = 0;
        int card2Index = 0;

        for (int i = 0; i < goal.length; i++) {
            if(card1Index < cards1.length && goal[i].equals(cards1[card1Index])) {
                card1Index++;
                continue;
            }

            if(card2Index < cards2.length && goal[i].equals(cards2[card2Index])) {
                card2Index++;
                continue;
            }

            answer = "No";
            return answer;
        }

        return answer;
    }
}

 

저작자표시 (새창열림)

'코딩 테스트' 카테고리의 다른 글

(Java) 백준 15652 - N과 M (4)  (0) 2023.02.17
(Java) 프로그래머스 - 둘만의 암호  (0) 2023.02.16
(Java) 프로그래머스 - 베스트앨범  (0) 2022.10.20
(Java) 프로그래머스 - 단속카메라  (0) 2022.10.17
(Java) 프로그래머스 - 등굣길  (0) 2022.10.17
'코딩 테스트' 카테고리의 다른 글
  • (Java) 백준 15652 - N과 M (4)
  • (Java) 프로그래머스 - 둘만의 암호
  • (Java) 프로그래머스 - 베스트앨범
  • (Java) 프로그래머스 - 단속카메라
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 - 카드 뭉치
상단으로

티스토리툴바