[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ/Python - Lv.2

2025. 6. 23. 22:10ยทCoding Test/Algorithms

โ“๋ฌธ์ œ

https://school.programmers.co.kr/learn/courses/30/lessons/49993

 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค

SW๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํ‰๊ฐ€, ๊ต์œก์˜ Total Solution์„ ์ œ๊ณตํ•˜๋Š” ๊ฐœ๋ฐœ์ž ์„ฑ์žฅ์„ ์œ„ํ•œ ๋ฒ ์ด์Šค์บ ํ”„

programmers.co.kr

๋ฌธ์ œ ์„ค๋ช…

์„ ํ–‰ ์Šคํ‚ฌ์ด๋ž€ ์–ด๋–ค ์Šคํ‚ฌ์„ ๋ฐฐ์šฐ๊ธฐ ์ „์— ๋จผ์ € ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์Šคํ‚ฌ์„ ๋œปํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ๊ฐ€ ์ŠคํŒŒํฌ → ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ → ์ฌ๋”์ผ๋•Œ, ์ฌ๋”๋ฅผ ๋ฐฐ์šฐ๋ ค๋ฉด ๋จผ์ € ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•˜๊ณ , ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ๋ฅผ ๋ฐฐ์šฐ๋ ค๋ฉด ๋จผ์ € ์ŠคํŒŒํฌ๋ฅผ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์œ„ ์ˆœ์„œ์— ์—†๋Š” ๋‹ค๋ฅธ ์Šคํ‚ฌ(ํž๋ง ๋“ฑ)์€ ์ˆœ์„œ์— ์ƒ๊ด€์—†์ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ŠคํŒŒํฌ → ํž๋ง → ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ → ์ฌ๋”์™€ ๊ฐ™์€ ์Šคํ‚ฌํŠธ๋ฆฌ๋Š” ๊ฐ€๋Šฅํ•˜์ง€๋งŒ, ์ฌ๋” → ์ŠคํŒŒํฌ๋‚˜ ๋ผ์ดํŠธ๋‹ ๋ณผํŠธ → ์ŠคํŒŒํฌ → ํž๋ง → ์ฌ๋”์™€ ๊ฐ™์€ ์Šคํ‚ฌํŠธ๋ฆฌ๋Š” ๋ถˆ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ skill๊ณผ ์œ ์ €๋“ค์ด ๋งŒ๋“  ์Šคํ‚ฌํŠธ๋ฆฌ๋ฅผ ๋‹ด์€ ๋ฐฐ์—ด skill_trees๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๊ฐ€๋Šฅํ•œ ์Šคํ‚ฌํŠธ๋ฆฌ ๊ฐœ์ˆ˜๋ฅผ return ํ•˜๋Š” solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์กฐ๊ฑด

  • ์Šคํ‚ฌ์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ ํ‘œ๊ธฐํ•˜๋ฉฐ, ๋ชจ๋“  ๋ฌธ์ž์—ด์€ ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์Šคํ‚ฌ ์ˆœ์„œ์™€ ์Šคํ‚ฌํŠธ๋ฆฌ๋Š” ๋ฌธ์ž์—ด๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค.
    • ์˜ˆ๋ฅผ ๋“ค์–ด, C → B → D ๋ผ๋ฉด "CBD"๋กœ ํ‘œ๊ธฐํ•ฉ๋‹ˆ๋‹ค
  • ์„ ํ–‰ ์Šคํ‚ฌ ์ˆœ์„œ skill์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 26 ์ดํ•˜์ด๋ฉฐ, ์Šคํ‚ฌ์€ ์ค‘๋ณตํ•ด ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • skill_trees๋Š” ๊ธธ์ด 1 ์ด์ƒ 20 ์ดํ•˜์ธ ๋ฐฐ์—ด์ž…๋‹ˆ๋‹ค.
  • skill_trees์˜ ์›์†Œ๋Š” ์Šคํ‚ฌ์„ ๋‚˜ํƒ€๋‚ด๋Š” ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
    • skill_trees์˜ ์›์†Œ๋Š” ๊ธธ์ด๊ฐ€ 2 ์ด์ƒ 26 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ด๋ฉฐ, ์Šคํ‚ฌ์ด ์ค‘๋ณตํ•ด ์ฃผ์–ด์ง€์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

โœ๐Ÿปํ’€์ด

์Šคํ‚ฌ์„ C โžก๏ธ B โžก๏ธ D ์ˆœ์„œ๋กœ ์ˆ™์ง€ํ•ด์•ผ ํ•œ๋‹ค๊ณ  ํ•  ๋•Œ, C๋ฅผ ์ˆ™์ง€ํ•˜์ง€ ์•Š๊ณ  B๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์—†๋‹ค. ๊ทธ๋Ÿฌ๋ฏ€๋กœ skill_trees์— ์žˆ๋Š” ์Šคํ‚ฌํŠธ๋ฆฌ ์ค‘ C, CB, CBD ์ˆœ์„œ๋กœ ๋ฐฐ์šด ๊ฒฝ์šฐ๋งŒ ๊ฐ€๋Šฅํ•œ ๊ฒƒ์ด๋‹ค.

์ฃผ์–ด์ง„ ์Šคํ‚ฌ ์ˆœ์„œ๋ฅผ ํ๋กœ ํ•˜์—ฌ ์ฃผ์–ด์ง„ ์Šคํ‚ฌ ํŠธ๋ฆฌ์™€ ๋น„๊ตํ•œ๋‹ค. ๋ฐฐ์šฐ๋ ค๋Š” ์Šคํ‚ฌ์ด ์šฐ์„  ์ฃผ์–ด์ง„ ์ˆœ์„œ์— ์žˆ๋Š” ์Šคํ‚ฌ์ด๋ผ๋ฉด ์Šคํ‚ฌ ์ˆœ์„œ๋ฅผ ๋น„๊ตํ•œ๋‹ค. ๋ฐฐ์›Œ์•ผ ํ•˜๋Š” ์Šคํ‚ฌ ์ˆœ์„œ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด ๊ทธ๋Œ€๋กœ ๋ฉˆ์ถ”๊ณ  ๋‹ค์Œ ์Šคํ‚ฌ ํŠธ๋ฆฌ๋ฅผ ํ™•์ธํ•œ๋‹ค.

์—ฌ๊ธฐ์„œ for-else๋ฅผ ์ด์šฉํ•˜์—ฌ for๋ฌธ์ด ์ค‘๊ฐ„์— ์ค‘๋‹จ๋˜์ง€ ์•Š๊ณ  ๋๋‚œ๋‹ค๋ฉด else๋ฅผ ์ด์šฉํ•ด์„œ answer๋ฅผ 1 ์ฆ๊ฐ€์‹œํ‚จ๋‹ค.

๐Ÿ’ป์ฝ”๋“œ

def solution(skill, skill_trees):
    answer = 0
    
    for skills in skill_trees:
        sk = list(skill)
        
        for s in skills:
            if s in skill:
                if s != sk.pop(0):
                    break
        else:
             answer += 1       
            
    return answer

๐Ÿ“ํ›„๊ธฐ

C++์ด๋‚˜ Java์˜ ๊ฒฝ์šฐ์—๋Š” for-else๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†์–ด์„œ ์ด๋ฒˆ ๋ฌธ์ œ๋ฅผ ํ’€๋ฉด์„œ python์€ for-else๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๋ฐฐ์› ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Coding Test > Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[SWEA] 1226. ๋ฏธ๋กœ1/Python - D4  (0) 2025.07.04
[SWEA] 1247. ์ตœ์  ๊ฒฝ๋กœ/Python - D5  (0) 2025.06.26
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฉ๋ฌธ ๊ธธ์ด/Python - Lv.2  (1) 2025.06.21
[๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1  (0) 2025.06.19
[๋ฐฑ์ค€] 1158. ์š”์„ธํ‘ธ์Šค ๋ฌธ์ œ/Python - Silver4  (0) 2025.04.01
'Coding Test/Algorithms' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • [SWEA] 1226. ๋ฏธ๋กœ1/Python - D4
  • [SWEA] 1247. ์ตœ์  ๊ฒฝ๋กœ/Python - D5
  • [ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ๋ฐฉ๋ฌธ ๊ธธ์ด/Python - Lv.2
  • [๋ฐฑ์ค€] 11401. ์ดํ•ญ ๊ณ„์ˆ˜ 3/Python - Gold1
The Engineer, Lucy
The Engineer, Lucy
  • The Engineer, Lucy
    Growing up for My Future๐Ÿ’•
    The Engineer, Lucy
    • Instagram
    • GitHub
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (171)
      • Linux (26)
      • Infra (9)
      • Cloud (25)
        • AWS (2)
        • GCP (3)
        • Docker (4)
        • Kubernetes (14)
        • IaC (2)
      • NGINX (1)
      • DevOps (3)
      • Computer Science (17)
        • Data Structure (0)
        • Algorithms (1)
        • Operating System (3)
        • Network (11)
        • Database System (2)
      • Coding Test (85)
        • Algorithms (77)
        • SQL (7)
      • ETC (5)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
  • ๊ณต์ง€์‚ฌํ•ญ

  • ๋งํฌ

    • Lucy's Instagram
    • Lucy's GitHub
  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    ๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ
    network
    ๋„ˆ๋น„์šฐ์„ ํƒ์ƒ‰
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ 2๊ธ‰
    Shell
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ ๊ณต๋ถ€
    Java
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    ์‰˜ ์Šคํฌ๋ฆฝํŠธ
    ๋ฐฑ์ค€
    cs ๊ธฐ์ดˆ ์ง€์‹ ์ •๋ฆฌ
    ์ž๋ฐ”
    Kubernetes
    ๋„คํŠธ์›Œํฌ ๊ธฐ์ดˆ ์ง€์‹
    ๋„คํŠธ์›Œํฌ
    programmers
    docker
    ์˜ค๋ธ”์™„
    ๋ฆฌ๋ˆ…์Šค๋งˆ์Šคํ„ฐ
    ๋ฆฌ๋ˆ…์Šค
    Linux
    dfs
    Baekjoon
    Shell Script
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    bfs
    ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค
    ๋„์ปค
    ์…ธ ์Šคํฌ๋ฆฝํŠธ
    K8s
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
The Engineer, Lucy
[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] ์Šคํ‚ฌํŠธ๋ฆฌ/Python - Lv.2
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”