โ๋ฌธ์
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 |