[ํ๋ก๊ทธ๋๋จธ์ค LV.0 _ Swift] Day30 ๋ฌธ์์ด ์์ ๋ฌธ์์ด - contains(), ์๋ฆฟ์ ๋ํ๊ธฐ, wholeNumberValue
๐ ๋ฌธ์ 1. ๋ฌธ์์ด ์์ ๋ฌธ์์ด
๐ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120908
๐ซ ์ค๋ฅ ๋ฐ ํด๊ฒฐ
์ฒ์์๋ for๋ฌธ์ ์ค์ฒฉํด ์ฌ์ฉํ์ฌ ํ ์คํธ ์ผ์ด์ค๋ ํต๊ณผํ์ง๋ง
์ ์ถํ์ ๋๋ ํ๋ฆฐ ๊ฒ์ผ๋ก ๋ณด์ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ฅผ ํฌํจํ์ง ์๋ ์ฝ๋๋ก ํ์ธ.
์ด๋ฐ ์์ผ๋ก ๋ฐ๋ก๋ฅผ ์ฐพ์ ์ ์์๋ค.
โ ์ ์ถ ์ฝ๋
import Foundation
func solution(_ str1:String, _ str2:String) -> Int {
//๋ฌธ์ ์ค๋ช
: ๋ฌธ์์ด ์์ ํน์ ๋ฌธ์์ด์ด ์๋์ง ํ์ธ
//ํต์ฌ๊ฐ๋
: contains() ๋ฉ์๋ -> ํ๋ผ๋ฏธํฐ๋ก ์ ๋ฌํ ๋ฌธ์/๋ฌธ์์ด์ด ์๋ค๋ฉด true
/*๋ฌธ์ ํ์ด ๊ณผ์ */
return str1.contains(str2) ? 1 : 2
}
๐ ๋ฌธ์ 2. ์๋ฆฟ์ ๋ํ๊ธฐ
๐ ๋ฌธ์ ๋งํฌ : https://school.programmers.co.kr/learn/courses/30/lessons/120906
๐ซ ์ค๋ฅ ๋ฐ ํด๊ฒฐ
โ ์ ์ถ ์ฝ๋
import Foundation
func solution(_ n:Int) -> Int {
//๋ฌธ์ ์ค๋ช
: ์ ์ n์ ๊ฐ ์๋ฆฌ ์ซ์์ ํฉ ๋ฐํ
//ํต์ฌ๊ฐ๋
: ๋ฌธ์๋ฅผ ์ ์ ํ์
์ผ๋ก ๋ณํ ์ํค๋ wholeNumberValue
/*๋ฌธ์ ํ์ด ๊ณผ์ */
var sum = 0 //๊ฐ ์๋ฆฌ ์ซ์์ ํฉ์ ์ ์ฅํ ๋ณ์
for i in String(n) { //์ ์ n์ ๋ฌธ์์ด๋ก ๋ณํ ํ ๊ฐ ๋ฌธ์๋ฅผ ์ํ
sum += i.wholeNumberValue! //๊ฐ ๋ฌธ์๋ฅผ ์ ์ ๊ฐ์ผ๋ก ๋ณํํ๊ณ sum์ ๋ํจ
}
return sum
}
/*
์ค์๊ฐ๋
wholeNumberValue๋ Character ํ์
์ ์์ฑ์ผ๋ก,
ํด๋น ๋ฌธ์๊ฐ ์ซ์์ธ ๊ฒฝ์ฐ ๊ทธ ๊ฐ์ ์ต์
๋ ์ ์๋ก ๋ฐํํ๋ค.
*/
๐ ๋ค๋ฅธ ํ์ด ๋ถ์
์๊ฐ๋ณด๋ค ๋ค์ํ ๋ฐฉ๋ฒ์ผ๋ก ํ ์ ์๋ ๋ฌธ์ ์๋ค.
์ฒซ๋ฒ์งธ ๋ฐฉ๋ฒ์,
1. ์ ์ n์ ๋ฌธ์์ด๋ก ๋ณํ ํ ๋ค์ ๋ฐฐ์ด๋ก ๋ณํ
2. ๋ฐฐ์ด์ ๋ฐ๋ณต๋ฌธ์ ํตํด ๋ฌธ์(i)๋ฅผ ํ๋์ฉ ๊บผ๋ด ๋ฌธ์์ด๋ก ๋ณํ ํ ์ ์ํ์ ์ผ๋ก ๋ณํ.
์ด๋, ๊ฐ์ด ์ ์์ผ ์๋ ์์ง๋ง "a"์ ๊ฐ์ ๋ฌธ์๊ฐ ์์ ์๋ ์๊ธฐ ๋๋ฌธ์ ์ต์ ๋ ์ ์ ํ์ -> ๊ฐ์ ์ธ๋ํ
๋๋ฒ์งธ ๋ฐฉ๋ฒ์ ์ํ์ ์ผ๋ก ์ ๊ทผํ ๋ฐฉ๋ฒ์ด๋ค.
์ดํดํ๊ธฐ ์ฝ๊ฒ ์ฃผ์์ ์ถ๊ฐํ๋ค.
func solution(_ n: Int) -> Int {
//n์ ๊ฐ์ ๋ณ๊ฒฝํ์ง ์๊ณ ์์
ํ๊ธฐ ์ํด ๋ณ์ ๋ณ์ a์ n์ ๊ฐ์ ๋ณต์ฌ
var a: Int = n
//๊ฐ ์๋ฆฌ ์ซ์์ ํฉ์ ์ ์ฅํ ๋ณ์ sum์ 0์ผ๋ก ์ด๊ธฐํ
var sum: Int = 0
//a์ ๋ชจ๋ ์๋ฆฌ ์ซ์๋ฅผ ์ฒ๋ฆฌํ ๋๊น์ง(a๊ฐ 0์ด ๋ ๋๊น์ง) ๋ฐ๋ณต
while !(a == 0) {
// a % 10์ a์ ๋ง์ง๋ง ์๋ฆฌ ์ซ์๋ฅผ ๊ตฌํ๋ ์ฐ์ฐ
//์๋ฅผ ๋ค์ด, a๊ฐ 123์ด๋ฉด 123 % 10์ 3
sum += a % 10
//๋ค์ ๋ฐ๋ณต์์ ๊ทธ ๋ค์ ์๋ฆฌ ์ซ์๋ฅผ ์ฒ๋ฆฌํ๊ธฐ ์ํด a๋ฅผ 10์ผ๋ก ๋๋์ด ๋ง์ง๋ง ์๋ฆฌ ์ซ์๋ฅผ ์ ๊ฑฐ
//์๋ฅผ ๋ค์ด, a๊ฐ 123์ด๋ฉด 123 / 10์ 12๋ก ์ด๋ ์ ์ ๋๋์
์ด๋ฏ๋ก ์์์ ์ดํ๋ ๋ฒ๋ฆผ
a /= 10
}
return sum
}