반응형
https://school.programmers.co.kr/learn/courses/30/lessons/159994
구현 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
cards1의 index idx1, cards2의 index idx2를 선언 후 0, 0으로 각각 초기화합니다.
📔 풀이과정
goal의 원소를 순회하며 다음을 진행합니다.1. cards1의 idx1번째 원소가 현재 goal의 문자열과 같다면 바로 뽑아주고 idx1을 1증가시킵니다.2. 이외에 cards2의 idx2번째 원소가 같다면 idx2를 증가시킵니다.3. 1,2번 경우 모두 아니라면 뽑을 수 없으므로 No를 반환합니다.찾는다면 해당 index를 증가시키는 방식이 번갈아 카드 뭉치를 뽑게 되는 것과 동작이 같아 별다른 flag없이 맞는 답이 됩니다.
📔 정답 출력 | 반환
Yes를 반환합니다.
📕 Code
📔 Python3
def solution(cards1, cards2, goal):
idx1, idx2 = 0, 0
for word in goal:
if idx1 < len(cards1) and cards1[idx1] == word:
idx1 += 1
elif idx2 < len(cards2) and cards2[idx2] == word:
idx2 += 1
else:
return "No"
return "Yes"
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Implementation' 카테고리의 다른 글
(Python3) - LeetCode (Medium) : 1072. Flip Columns For Maximum Number of Equal Rows (0) | 2024.11.22 |
---|---|
(Python3) - LeetCode (Medium) 2257. Count Unguarded Cells in the Grid (0) | 2024.11.21 |
(Python3) - 프로그래머스(코딩 기초 트레이닝): 정수를 나선형으로 배치하기 (0) | 2024.11.14 |
(Python3) - 프로그래머스(PCCE 기출문제): 2번 피타고라스의 정리 (1) | 2024.11.13 |
(Python3) - 프로그래머스(PCCP 기출문제): 1번 / 분대 감기 (1) | 2024.11.11 |