๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

๋ฐฉ๋ฒ• 1: Int ๋กœ ํ˜•๋ณ€ํ™˜ ํ•˜๊ธฐ

๋ฌธ์ž๋ฅผ ํ•˜๋‚˜์”ฉ ๋ฝ‘์•„์„œ isLetter ํ”„๋กœํผํ‹ฐ๋กœ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ๊ฐ€์žฅ ์‰ฌ์šด ๋ฐฉ๋ฒ•์€ Int ๋กœ ํ˜•๋ณ€ํ™˜์„ ์‹œ๋„ํ•ด๋ณด๋Š” ๊ฒƒ์ด๋‹ค. ๋ฌธ์ž์—ด์— ์ˆซ์ž๋งŒ ์กด์žฌํ•œ๋‹ค๋ฉด ๋ฌธ์ž์—ด์ด ์ •์ƒ์ ์œผ๋กœ ์ •์ˆ˜๋กœ ๋ณ€ํ™˜๋˜๊ณ , ์•„๋‹ˆ๋ผ๋ฉด nil์ด ๋ฐ˜ํ™˜๋œ๋‹ค.

let str = "1234"

if let convertedNum = Int(str) {
    print("\(convertedNum): \(type(of: convertedNum))")
} else {
    print("Cannot convert string into number")
}

// Prints: "1234: Int"

 

๋ฐฉ๋ฒ• 2: allSatisfy ๋ฉ”์„œ๋“œ ์‚ฌ์šฉํ•˜๊ธฐ

๋ฌธ์ž์—ด์—๋Š” allSatisfy ๋ฉ”์„œ๋“œ๊ฐ€ ์žˆ๋‹ค. ๋ฉ”์„œ๋“œ์˜ ์ธ์ž๋กœ ๋ฌธ์ž๋ฅผ ๊ฒ€์‚ฌํ•  ํด๋กœ์ €๋ฅผ ์ฃผ๋ฉด ๋ชจ๋“  ๋ฌธ์ž๊ฐ€ ์กฐ๊ฑด์— ๋งŒ์กฑ๋˜๋ฉด true, ํ•œ ๋ฌธ์ž๋ผ๋„ ์กฐ๊ฑด์— ๋งŒ์กฑํ•˜์ง€ ์•Š์œผ๋ฉด false ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

let str = "s1234"
str.allSatisfy({ $0.isNumber } // false

let str2 = "1234"
str.allSatisfy({ $0.isNumber } // true

 

์ด๋ฅผ ์ด์šฉํ•ด์„œ ์กฐ๊ฑด์— ๊ฐ ๋ฌธ์ž์— ๋Œ€ํ•ด isNumber ํ”„๋กœํผํ‹ฐ๋กœ ๊ฒ€์‚ฌํ•˜๋Š” ์กฐ๊ฑด์„ ๋„ฃ์œผ๋ฉด ๋ฐ˜๋ณต๋ฌธ์„ ๋งŒ๋“ค ํ•„์š”์—†์ด ์‰ฝ๊ฒŒ ํ™•์ธ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.

 

๋ฐฉ๋ฒ• 3: ๊ณ ์ฐจํ•จ์ˆ˜ filter ์‚ฌ์šฉํ•˜๊ธฐ

filter ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์กฐ๊ฑด์— ๋งž๋Š” ๋ฐ์ดํ„ฐ๋งŒ ๊ณจ๋ผ์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด๋กœ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์ด ๋ฐฐ์—ด์˜ ํฌ๊ธฐ๋ฅผ ๊ฒ€์‚ฌํ•˜๋ฉด ์ˆซ์ž๋งŒ ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

let str = "s1234"
let answer = str.filter({ $0.isNumber }).count == 0