๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ชจ์
ํฌ๊ธฐ๊ฐ ์์ ๋ถ๋ถ๋ฌธ์์ด
๋ฌธ์ ์ค๋ช
์ซ์๋ก ์ด๋ฃจ์ด์ง ๋ฌธ์์ด t์ p๊ฐ ์ฃผ์ด์ง ๋, t์์ p์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ถ๋ถ๋ฌธ์์ด ์ค์์, ์ด ๋ถ๋ถ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์๊ฐ p๊ฐ ๋ํ๋ด๋ ์๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ๊ฒ์ด ๋์ค๋ ํ์๋ฅผ return ํ๋ ํจ์ solution์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด, t="3141592"์ด๊ณ p="271"์ธ ๊ฒฝ์ฐ, t์ ๊ธธ์ด๊ฐ 3์ธ ๋ถ๋ถ ๋ฌธ์์ด์ 314, 141, 415, 159, 592์ ๋๋ค. ์ด ๋ฌธ์์ด์ด ๋ํ๋ด๋ ์ ์ค 271๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์๋ 141, 159 2๊ฐ์ ๋๋ค.
์ ํ ์ฌํญ
- 1 ≤ p์ ๊ธธ์ด ≤ 18
- p์ ๊ธธ์ด ≤ t์ ๊ธธ์ด ≤ 10,000
- t์ p๋ ์ซ์๋ก๋ง ์ด๋ฃจ์ด์ง ๋ฌธ์์ด์ด๋ฉฐ, 0์ผ๋ก ์์ํ์ง ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
t | p | result |
"3141592" | "271" | 2 |
"500220839878" | "7" | 8 |
"10203" | "15" | 3 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- ๋ณธ๋ฌธ๊ณผ ๊ฐ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #2
- p์ ๊ธธ์ด๊ฐ 1์ด๋ฏ๋ก t์ ๋ถ๋ถ๋ฌธ์์ด์ "5", "0", 0", "2", "2", "0", "8", "3", "9", "8", "7", "8"์ด๋ฉฐ ์ด์ค 7๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "5", "0", "0", "2", "2", "0", "3", "7" ์ด๋ ๊ฒ 8๊ฐ๊ฐ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- p์ ๊ธธ์ด๊ฐ 2์ด๋ฏ๋ก t์ ๋ถ๋ถ๋ฌธ์์ด์ "10", "02", "20", "03"์ด๋ฉฐ, ์ด์ค 15๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ ์ซ์๋ "10", "02", "03" ์ด๋ ๊ฒ 3๊ฐ์ ๋๋ค. "02"์ "03"์ ๊ฐ๊ฐ 2, 3์ ํด๋นํ๋ค๋ ์ ์ ์ฃผ์ํ์ธ์
์ ์ถ
import Foundation
func solution(_ t:String, _ p:String) -> Int {
var cnt = 0
var n = Int(p)!
for i in 0...t.count - p.count{
cnt += Int(t.map{String($0)}[i..<i+p.count].joined())! <= n ? 1 : 0
}
return cnt
}
์ต์ข ๊ฒฐ๊ณผ ๊ฐ์ ๋ด์ ๋ณ์ cnt์ ์ ๋ ฅ๋ฐ์ ๋ฌธ์์ด p๋ฅผ Intํ์ผ๋ก ๋ณํํด ์ ์ฅํ ๋ณ์ n์ ์ ์ธํ๋ค.
i๋ฅผ 0๋ถํฐ (t์ ๊ธธ์ด - p์ ๊ธธ์ด)๊น์ง 1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐ๋ณตํ๋ค. (๋ฐ๋ณต๋ฌธ์์ i์ p์ ๊ธธ์ด๋ฅผ ๋ํ๊ธฐ ๋๋ฌธ์)
t๋ฌธ์์ด์ ๋ฐฐ์ด๋ก ๋ฐ๊พผ ํ, ์ธ๋ฑ์ค i๋ถํฐ i+p๊น์ง์ ๋ฌธ์์ด์ Int๋ก ๋ฐ๊ฟจ์ ๋, n ๋ณด๋ค ์๋ค๋ฉด cnt ๋ณ์์ 1์ ์๋๋ผ๋ฉด 0์ ๋ํ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ t:String, _ p:String) -> Int {
let n = p.count, p_num = Int(p)!
var result = 0
for i in 0...t.count-n{
let s = t.dropFirst(i).prefix(n)
if p_num >= Int(s)!{result += 1}
}
return result
}
n์ p์ ๊ธธ์ด๋ฅผ, p_num์ ๋ฌธ์์ด p๋ฅผ Intํ์ผ๋ก ๋ณํํ์ฌ ์ ์ฅํ๋ค.
์ต์ข ๊ฒฐ๊ณผ ๊ฐ์ ๋ด์ ๋ณ์ result๋ ์ ์ธํ๋ค.
i๋ฅผ 0๋ถํฐ (t์ ๊ธธ์ด - n)๊น์ง 1์ฉ ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐ๋ณตํ๋ค.
๋ฌธ์์ด t์ i๋ฒ์งธ ๋ฌธ์๋ถํฐ n๊ฐ์ ๋ฌธ์์ด์ s์ ์ ์ฅํ๋ค.
๋ฌธ์์ด s๋ฅผ Int๋ก ๋ณํํ ๊ฐ์ด p_num๋ณด๋ค ์๋ค๋ฉด, result๋ฅผ 1 ์ฆ๊ฐ์ํจ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋๋ง์ ์ํธ (0) | 2023.03.18 |
---|---|
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ฐ์ธ์ ๋ณด ์์ง ์ ํจ๊ธฐ๊ฐ (0) | 2023.03.17 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ (0) | 2023.03.16 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ฌธ์์ด ๋๋๊ธฐ (0) | 2023.03.16 |
[Swift] ํ๋ก๊ทธ๋๋จธ์ค LV.1 ๋ช ์์ ์ ๋น (1) (0) | 2023.03.15 |