๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ“– Problem Solution/Programmers

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค ๋ฌธ์ž์—ด ๋‹ค๋ฃจ๊ธฐ ๊ธฐ๋ณธ Swift

by Fomagran ๐Ÿ’ป 2020. 2. 16.
728x90
๋ฐ˜์‘ํ˜•

Youtube

 

์ œ๊ฐ€ ์ง์ ‘ ์˜์ƒ ์ œ์ž‘ํ•œ ํ’€์ด์ž…๋‹ˆ๋‹ค!! 

 

์˜์ƒ์œผ๋กœ ์‹œ์ฒญํ•˜์‹œ๋ฉด ๋” ์ดํ•ดํ•˜์‹œ๊ธฐ ์‰ฌ์šธ๊ฑฐ์—์š”!!ใ…Žใ…Ž


 

๋ฌธ์ œ ์„ค๋ช…

๋ฌธ์ž์—ด s์˜ ๊ธธ์ด๊ฐ€ 4 ํ˜น์€ 6์ด๊ณ , ์ˆซ์ž๋กœ๋งŒ ๊ตฌ์„ฑ๋ผ์žˆ๋Š”์ง€ ํ™•์ธํ•ด์ฃผ๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•˜์„ธ์š”. ์˜ˆ๋ฅผ ๋“ค์–ด s๊ฐ€ a234์ด๋ฉด False๋ฅผ ๋ฆฌํ„ดํ•˜๊ณ  1234๋ผ๋ฉด True๋ฅผ ๋ฆฌํ„ดํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ œํ•œ ์‚ฌํ•ญ

  • s๋Š” ๊ธธ์ด 1 ์ด์ƒ, ๊ธธ์ด 8 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.

์ž…์ถœ๋ ฅ ์˜ˆ

s return
a234 false
1234 true

ํ’€์ด: ์šฐ์„  s์˜ ๊ธธ์ด 4 ๋˜๋Š” 6์ธ์ง€ ํ™•์ธ ํ›„ 

๋งŒ์•ฝ 4 ๋˜๋Š” 6์ธ ๊ฒฝ์šฐ์—” s์˜ ๋ฌธ์ž๋ฅผ ๋จผ์ € String์œผ๋กœ ๋ณ€ํ™˜ํ•ด์ฃผ๊ณ  (์•ˆ๊ทธ๋Ÿฌ๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์˜ค๋ฅ˜๊ฐ€ ๋‚œ๋‹ค.) ๊ทธ๋ฆฌ๊ณ  Int๋กœ ํ˜•๋ณ€ํ™˜ ํ–ˆ์„ ์‹œ nil๊ฐ’์ด ์žˆ๋‹ค๋ฉด filter์•ˆ์— ๋„ฃ์œผ๋ผ๋Š” ๊ฑด๋ฐ nil๊ฐ’์ด ์žˆ๋‹ค๋Š” ๊ฑด ๊ณง ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž๊ฐ€ ์žˆ๋‹ค๋Š” ๋œป์ด๋‹ˆ filter์˜ ๊ฐฏ์ˆ˜๊ฐ€ 0๋ณด๋‹ค ํฌ๋ฉด false๋ฅผ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ํ–ˆ๋‹ค.

1
2
3
4
5
6
7
8
import Foundation
func solution(_ s:String-> Bool {
    if s.count == 4 || s.count == 6{
        let filter = s.filter { (number) -> Bool in Int(String(number)) == nil}
        return filter.count > 0 ? false : true
    }
    return false
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

๋‹ค๋ฅธ ์‚ฌ๋žŒ์˜ ํ’€์ด ์ค‘ ๊ฐ€์žฅ ์ข‹์€ ๊ฒƒ

์šฐ์„  ์›ํ•˜๋Š” ํƒ€์ž…์— ์†Œ๊ด„ํ˜ธ ์•ˆ์— ๋ฌธ์ž์—ด์„ ๋„ฃ์–ด์ฃผ๋ฉด ์ž๋™์œผ๋กœ filter์™€ ๊ฐ™์€ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค.

1
2
3
4
5
6
7
8
9
import Foundation
func solution(_ s:String-> Bool {
    if  s.count == 4 || s.count == 6{
    if Int(s) != nil {
        return true
    }
    }
    return false
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

์•„๋ž˜์˜ ์‹์œผ๋กœ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋Š”๋ฐ ๋ญ๊ฐ€ ๋‹ค๋ฅธ๊ฑด์ง€ ์•„์ง์€ ๋ชจ๋ฅด๊ฒ ๋‹ค...

1
2
3
4
import Foundation
func solution(_ s:String-> Bool {
    return s.count == 4 || s.count == 6 && Int(s) != nil ? true : false
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

๋งจ ์ฒ˜์Œ์—” regex๋ฅผ ์‚ฌ์šฉํ•ด ํ’€์—ˆ๋Š”๋ฐ ์ด๊ฑด ๋˜ ์™œ ์•ˆ๋˜๋Š”์ง€ ๋ชจ๋ฅด๊ฒ ๋‹ค.

ํ”Œ๋ ˆ์ด๊ทธ๋ผ์šด๋“œ์—์„  ์ž˜ ๋˜๋Š”๋ฐ 

ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค์—์„œ ๋Œ๋ ค๋ณด๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•ด์„œ number๋ฅผ CVarArg๋กœ ์บ์ŠคํŒ… ํ•˜๋ผ๋Š”๊ฑด๊ฐ€? ๋ผ๊ณ  ์ƒ๊ฐํ•ด์„œ ๊ทธ๋ ‡๊ฒŒ ํ•ด๋ดค๋Š”๋ฐ ๋˜ ๋‹ค๋ฅธ core dumped ์—๋Ÿฌ๊ฐ€ ๋œฌ๋‹ค.... ์™œ ์•ˆ๋˜๋Š”๊ฑฐ์ง€..

1
2
3
4
5
6
7
8
9
10
11
import Foundation
 
func solution(_ s:String-> Bool {
    if s.count == 4 || s.count == 6{
    let regex = "^[0-9]*$"
    let number = NSPredicate(format: "SELF MATCHES %@",regex)
    let result =  number.evaluate(with: s)
    return result
    }
    return false
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter

 

728x90
๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€