ํ๋ก๊ทธ๋๋จธ์ค - ์คํฌํธ๋ฆฌ(Swift)
2022. 10. 20. 14:09ใํ๋ก๊ทธ๋๋จธ์ค-Swift
ํ๋ก๊ทธ๋๋จธ์ค - ์คํฌํธ๋ฆฌ(Swift)
๋ฌธ์ ์ค๋ช
https://school.programmers.co.kr/learn/courses/30/lessons/49993
๋์ ํ์ด
์ ํ๋ฌธ์ ๋ ์ ํด์ง ์์์ containsํ์ง ํ์ธํ๊ณ first๊ฐ์ด ์ฒซ๋ฒ์งธ ๊ฐ๊ณผ ๊ฐ๋ค๋ฉด removeFirstํ๊ณ ์๋๋ฉด ์นด์ดํธ ์ํค๋ฉด ๋๋ค.
import Foundation
func solution(_ skill:String, _ skill_trees:[String]) -> Int {
var cnt = skill_trees.count
for tree in skill_trees {
var skill = Array(skill)
for t in tree {
if !skill.contains(t) {
continue
} else {
if skill.first == t {
skill.removeFirst()
} else {
cnt -= 1
break
}
}
}
}
return cnt
}
๋ค๋ฅธ ์ฌ๋์ ํ์ด
hasPrefix๋ฅผ ์ด์ฉํด์ ํผ ์ฝ๋๊ฐ ์ธ์์ ์ด์ฌ์ ๊ฐ์ ธ์๋ค.
"ํฌํจ๋ ๊ฒ๋ค๋ง ๋จ๊ฒจ์ ์์๊ฐ ์ผ์นํ๋์ง ํ์ธํ๋ค" ๊ฐ ํต์ฌ์ด๋ค.
์ถ๊ฐ์ ์ผ๋ก ๋ฐฐ์ด์ joinedํ๊ธฐ ์ํด์๋ Stringํ์ ์ด์ฌ์ผ ํ๊ธฐ ๋๋ฌธ์ Mappingํ๊ณ ์งํํ๋ค.
import Foundation
func solution(_ skill:String, _ skill_trees:[String]) -> Int {
let result = skill_trees.filter{
let skills = $0.filter{ skill.contains($0) }.map{String($0)}.joined()
return skill.hasPrefix(skills)
}
return result.count
}
'ํ๋ก๊ทธ๋๋จธ์ค-Swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค - ํ์ผ๋ช ์ ๋ ฌ(Swift) (0) | 2022.10.21 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค - ๋ฐฉ๋ฌธ ๊ธธ์ด(Swift) (0) | 2022.10.20 |
ํ๋ก๊ทธ๋๋จธ์ค - ์ฐ์ ๋ถ๋ถ ์์ด ํฉ์ ๊ฐ์ (0) | 2022.10.20 |
ํ๋ก๊ทธ๋๋จธ์ค - ๋ ๋ฐ๋จน๊ธฐ(Swift) (0) | 2022.10.19 |
ํ๋ก๊ทธ๋๋จธ์ค - ํ๋ ์ฆ4๋ธ๋ก(Swift) (0) | 2022.10.18 |