๋ฐ์ํ
ํ๋ก๊ทธ๋๋จธ์ค LV.0 ๋ชจ์
๋ฌธ์์ด ๋ฐ๊ธฐ
๋ฌธ์ ์ค๋ช
๋ฌธ์์ด "hello"์์ ๊ฐ ๋ฌธ์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ์ฉ ๋ฐ๊ณ ๋ง์ง๋ง ๋ฌธ์๋ ๋งจ ์์ผ๋ก ์ด๋์ํค๋ฉด "ohell"์ด ๋ฉ๋๋ค. ์ด๊ฒ์ ๋ฌธ์์ด์ ๋ฏผ๋ค๊ณ ์ ์ํ๋ค๋ฉด ๋ฌธ์์ด A์ B๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, A๋ฅผ ๋ฐ์ด์ B๊ฐ ๋ ์ ์๋ค๋ฉด ๋ฐ์ด์ผ ํ๋ ์ต์ ํ์๋ฅผ return ํ๊ณ ๋ฐ์ด์ B๊ฐ ๋ ์ ์์ผ๋ฉด -1์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด ๋ณด์ธ์.
์ ํ ์ฌํญ
- 0 < A์ ๊ธธ์ด = B์ ๊ธธ์ด < 100
- A, B๋ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์
A | B | result |
"hello" | "ohell" | 1 |
"apple" | "elppa" | -1 |
"atat" | "tata" | 1 |
"abc" | "abc" | 0 |
์ ์ถ๋ ฅ ์ ์ค๋ช
์ ์ถ๋ ฅ ์ #1
- "hello"๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ ๋ฐ๋ฉด "ohell"๊ฐ ๋ฉ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- "apple"์ ๋ช ๋ฒ์ ๋ฐ์ด๋ "elppa"๊ฐ ๋ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์ #3
- "atat"๋ ์ค๋ฅธ์ชฝ์ผ๋ก ํ ์นธ, ์ธ ์นธ์ ๋ฐ๋ฉด "tata"๊ฐ ๋๋ฏ๋ก ์ต์ ํ์์ธ 1์ ๋ฐํํฉ๋๋ค.
์ ์ถ๋ ฅ ์ #4
- "abc"๋ ๋ฐ์ง ์์๋ "abc"์ด๋ฏ๋ก 0์ ๋ฐํํฉ๋๋ค.
์ ์ถ
import Foundation
func solution(_ A:String, _ B:String) -> Int {
if A == B {return 0}
var sValue = A
for i in 1..<sValue.count{
var temp = sValue.removeLast()
sValue.insert(temp, at: sValue.startIndex)
if sValue == B {return i}
}
return -1
}
๋ ๋ฌธ์์ด์ด ๋์ผํ๋ค๋ฉด 0์ ๋ฐํํ๋ค.
i๋ฅผ 1๋ถํฐ ๋ฌธ์์ด์ ๊ธธ์ด๊น์ง ์ฆ๊ฐ์ํค๋ฉฐ ๋ฐ๋ณต๋ฌธ์ ์คํํ๋ค.
A์ ๋ง์ง๋ง ๊ฐ์ ์ญ์ ํ ํ ๋งจ ์์ ์ถ๊ฐํ์ ๋, B์ ๋์ผํ๋ค๋ฉด i๋ฅผ ๋ฐํํ๋ค. (๋ฌธ์์ด์ ์ค๋ฅธ์ชฝ์ผ๋ก ๋ฏธ๋ ๋์)
for๋ฌธ์ด ๋๋ ๋๊น์ง B์ ๊ฐ์์ง๋ ๊ฒฝ์ฐ๊ฐ ์๋ค๋ฉด, A๋ B๊ฐ ๋ ์ ์๊ธฐ ๋๋ฌธ์ -1์ ๋ฐํํ๋ค.
๋ค๋ฅธ ํ์ด
import Foundation
func solution(_ A:String, _ B:String) -> Int {
let arr = (A+A).components(separatedBy: B)
return arr.count == 1 ? -1 : arr[1].count
}
A์ A๋ฅผ ๋ํด์ค ํ, B๋ฅผ ๊ธฐ์ค์ผ๋ก ๋๋๋ค.
๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 1์ด๋ผ๋ฉด, A๋ B๊ฐ ๋ ์ ์๋ค๋ ์๋ฏธ์ด๊ธฐ ๋๋ฌธ์ -1์ ๋ฐํํ๋ค.
๋ฐฐ์ด์ ํฌ๊ธฐ๊ฐ 1์ด ์๋๋ผ๋ฉด, ๋ฐฐ์ด์ ์ฒซ ๋ฒ์งธ ์์์ ํฌ๊ธฐ๋ฅผ ๋ฐํํ๋ค.
๋ฐ์ํ
'โจ๏ธ Language > swift' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ฐ์๋ ์์ ํฉ (0) | 2023.01.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์ข ์ด ์๋ฅด๊ธฐ (0) | 2023.01.20 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ์๋ผ์ ๋ฐฐ์ด๋ก ์ ์ฅํ๊ธฐ (0) | 2023.01.20 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] 7์ ๊ฐ์ (0) | 2023.01.19 |
[ํ๋ก๊ทธ๋๋จธ์ค LV.0] ๋ฌธ์์ด ์ ๋ ฌํ๊ธฐ (2) (0) | 2023.01.19 |