πŸ‘©πŸ»‍πŸ’» 갓생 직μž₯인 λ‚¨λ°”μ˜€
article thumbnail
Published 2023. 2. 22. 13:16
[Programmers] μΉ΄λ“œ λ­‰μΉ˜ Coding

 

https://school.programmers.co.kr/learn/courses/30/lessons/159994?language=python3 

 

ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€

μ½”λ“œ μ€‘μ‹¬μ˜ 개발자 μ±„μš©. μŠ€νƒ 기반의 ν¬μ§€μ…˜ λ§€μΉ­. ν”„λ‘œκ·Έλž˜λ¨ΈμŠ€μ˜ 개발자 λ§žμΆ€ν˜• ν”„λ‘œν•„μ„ λ“±λ‘ν•˜κ³ , λ‚˜μ™€ 기술 ꢁ합이 잘 λ§žλŠ” 기업듀을 λ§€μΉ­ λ°›μœΌμ„Έμš”.

programmers.co.kr

문제

μ½”λ‹ˆλŠ” μ˜μ–΄ 단어가 적힌 μΉ΄λ“œ λ­‰μΉ˜ 두 개λ₯Ό μ„ λ¬Όλ‘œ λ°›μ•˜μŠ΅λ‹ˆλ‹€. μ½”λ‹ˆλŠ” λ‹€μŒκ³Ό 같은 κ·œμΉ™μœΌλ‘œ μΉ΄λ“œμ— 적힌 단어듀을 μ‚¬μš©ν•΄ μ›ν•˜λŠ” μˆœμ„œμ˜ 단어 배열을 λ§Œλ“€ 수 μžˆλŠ”μ§€ μ•Œκ³  μ‹ΆμŠ΅λ‹ˆλ‹€.

  • μ›ν•˜λŠ” μΉ΄λ“œ λ­‰μΉ˜μ—μ„œ μΉ΄λ“œλ₯Ό μˆœμ„œλŒ€λ‘œ ν•œ μž₯μ”© μ‚¬μš©ν•©λ‹ˆλ‹€.
  • ν•œ 번 μ‚¬μš©ν•œ μΉ΄λ“œλŠ” λ‹€μ‹œ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
  • μΉ΄λ“œλ₯Ό μ‚¬μš©ν•˜μ§€ μ•Šκ³  λ‹€μŒ μΉ΄λ“œλ‘œ λ„˜μ–΄κ°ˆ 수 μ—†μŠ΅λ‹ˆλ‹€.
  • 기쑴에 μ£Όμ–΄μ§„ μΉ΄λ“œ λ­‰μΉ˜μ˜ 단어 μˆœμ„œλŠ” λ°”κΏ€ 수 μ—†μŠ΅λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄ 첫 번째 μΉ΄λ“œ λ­‰μΉ˜μ— μˆœμ„œλŒ€λ‘œ ["i", "drink", "water"], 두 번째 μΉ΄λ“œ λ­‰μΉ˜μ— μˆœμ„œλŒ€λ‘œ ["want", "to"]κ°€ μ ν˜€μžˆμ„ λ•Œ ["i", "want", "to", "drink", "water"] μˆœμ„œμ˜ 단어 배열을 λ§Œλ“€λ €κ³  ν•œλ‹€λ©΄ 첫 번째 μΉ΄λ“œ λ­‰μΉ˜μ—μ„œ "i"λ₯Ό μ‚¬μš©ν•œ ν›„ 두 번째 μΉ΄λ“œ λ­‰μΉ˜μ—μ„œ "want"와 "to"λ₯Ό μ‚¬μš©ν•˜κ³  첫 번째 μΉ΄λ“œλ­‰μΉ˜μ— "drink"와 "water"λ₯Ό μ°¨λ‘€λŒ€λ‘œ μ‚¬μš©ν•˜λ©΄ μ›ν•˜λŠ” μˆœμ„œμ˜ 단어 배열을 λ§Œλ“€ 수 μžˆμŠ΅λ‹ˆλ‹€.

λ¬Έμžμ—΄λ‘œ 이루어진 λ°°μ—΄ cards1, cards2와 μ›ν•˜λŠ” 단어 λ°°μ—΄ goal이 λ§€κ°œλ³€μˆ˜λ‘œ μ£Όμ–΄μ§ˆ λ•Œ, cards1κ³Ό cards2에 적힌 λ‹¨μ–΄λ“€λ‘œ goalλ₯Ό λ§Œλ“€ μžˆλ‹€λ©΄ "Yes"λ₯Ό, λ§Œλ“€ 수 μ—†λ‹€λ©΄ "No"λ₯Ό returnν•˜λŠ” solution ν•¨μˆ˜λ₯Ό μ™„μ„±ν•΄μ£Όμ„Έμš”.


μ œν•œμ‚¬ν•­
  • 1 ≤ cards1의 길이, cards2의 길이 ≤ 10
    • 1 ≤ cards1[i]의 길이, cards2[i]의 길이 ≤ 10
    • cards1κ³Ό cards2μ—λŠ” μ„œλ‘œ λ‹€λ₯Έ λ‹¨μ–΄λ§Œ μ‘΄μž¬ν•©λ‹ˆλ‹€.
  • 2 ≤ goal의 길이 ≤ cards1의 길이 + cards2의 길이
    • 1 ≤ goal[i]의 길이 ≤ 10
    • goal의 μ›μ†ŒλŠ” cards1κ³Ό cards2의 μ›μ†Œλ“€λ‘œλ§Œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€.
  • cards1, cards2, goal의 λ¬Έμžμ—΄λ“€μ€ λͺ¨λ‘ μ•ŒνŒŒλ²³ μ†Œλ¬Έμžλ‘œλ§Œ 이루어져 μžˆμŠ΅λ‹ˆλ‹€.

 

Write Up

def solution(cards1, cards2, goal):
    card1idx , card2idx = 0 , 0
    
    answer = "Yes"
    
    for word in goal:
        if len(cards1) > card1idx and cards1[card1idx] == word:
            card1idx += 1
        elif len(cards2) > card2idx and cards2[card2idx] == word:
            card2idx += 1
        else:
            answer = "No"
            break
            
    return answer

 

ifλ¬Έμ—μ„œ ν•œμ°Έ index μ—λŸ¬κ°€ λ‚¬μ—ˆλ‹€. 

μ•ˆμ— index λΉ„κ΅ν•˜λŠ” ꡬ문과 wordλž‘ λΉ„κ΅ν•˜λŠ” ꡬ문의 μˆœμ„œλ§Œ λ°”κΏ”μ£Όλ‹ˆ 톡과..

and 문으둜 λ¬Άμ—ˆμœΌλ‹ˆκΉŒ κ²°κ³Όκ°€ μ–΄μ¨Œλ“  λ‘˜ λ‹€ 톡과해야 λ„˜μ–΄κ°€λŠ” κ±° μ•„λ‹Œκ°€..? 인덱슀 λ¬Έμ œλŠ” μ™œ λ°œμƒν•˜λŠ” κ±ΈκΉŒμš”πŸ₯²

profile

πŸ‘©πŸ»‍πŸ’» 갓생 직μž₯인 λ‚¨λ°”μ˜€

@λ‚¨λ°”μ˜€