๋ฌธ์ ์ค๋ช
ํ๋ก๊ทธ๋๋จธ์ค ํ์์๋ ๊ธฐ๋ฅ ๊ฐ์ ์์ ์ ์ํ ์ค์ ๋๋ค. ๊ฐ ๊ธฐ๋ฅ์ ์ง๋๊ฐ 100%์ผ ๋ ์๋น์ค์ ๋ฐ์ํ ์ ์์ต๋๋ค.
๋, ๊ฐ ๊ธฐ๋ฅ์ ๊ฐ๋ฐ์๋๋ ๋ชจ๋ ๋ค๋ฅด๊ธฐ ๋๋ฌธ์ ๋ค์ ์๋ ๊ธฐ๋ฅ์ด ์์ ์๋ ๊ธฐ๋ฅ๋ณด๋ค ๋จผ์ ๊ฐ๋ฐ๋ ์ ์๊ณ , ์ด๋ ๋ค์ ์๋ ๊ธฐ๋ฅ์ ์์ ์๋ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋ ๋ ํจ๊ป ๋ฐฐํฌ๋ฉ๋๋ค.
๋จผ์ ๋ฐฐํฌ๋์ด์ผ ํ๋ ์์๋๋ก ์์ ์ ์ง๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด progresses์ ๊ฐ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ์ ํ ์ ์ ๋ฐฐ์ด speeds๊ฐ ์ฃผ์ด์ง ๋ ๊ฐ ๋ฐฐํฌ๋ง๋ค ๋ช ๊ฐ์ ๊ธฐ๋ฅ์ด ๋ฐฐํฌ๋๋์ง๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
์ ํ ์ฌํญ
- ์์ ์ ๊ฐ์(progresses, speeds๋ฐฐ์ด์ ๊ธธ์ด)๋ 100๊ฐ ์ดํ์ ๋๋ค.
- ์์ ์ง๋๋ 100 ๋ฏธ๋ง์ ์์ฐ์์ ๋๋ค.
- ์์ ์๋๋ 100 ์ดํ์ ์์ฐ์์ ๋๋ค.
- ๋ฐฐํฌ๋ ํ๋ฃจ์ ํ ๋ฒ๋ง ํ ์ ์์ผ๋ฉฐ, ํ๋ฃจ์ ๋์ ์ด๋ฃจ์ด์ง๋ค๊ณ ๊ฐ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ง๋์จ์ด 95%์ธ ์์ ์ ๊ฐ๋ฐ ์๋๊ฐ ํ๋ฃจ์ 4%๋ผ๋ฉด ๋ฐฐํฌ๋ 2์ผ ๋ค์ ์ด๋ฃจ์ด์ง๋๋ค.
์ ์ถ๋ ฅ ์
progressess | speed | return |
[93,30,55] | [1,30,5] | [2,1] |
ํ์ด: ์ฐ์ while์ ์ด์ฉํด end ์งํฉ์ด progresses๋งํผ ๋ ๋๊น์ง ๋ฐ๋ณต์ ํด์ค๋ค. (์งํฉ์ผ๋ก ํ ์ด์ ๋ ์ค๋ณต์ ์์ ๊ธฐ ์ํด)
๊ทธ๋ฆฌ๊ณค for๋ฌธ์ ์ด์ฉํด progress๋ผ๋ progresses ๋ณต์ฌ๋ณธ์ ๊ฐ speed๋งํผ ๋ํด์ค๋ค.
๊ทธ๋ฆฌ๊ณ 100์ด ๋๋ ๊ฒฝ์ฐ์ wait์ด๋ผ๋ ์งํฉ์ index๊ฐ์ ๋ฃ์ด์ค๋ค.
๋งจ ์ฒ์ ๊ฐ์ด index 0์ด 100์ด ๋๋ ๊ฒฝ์ฐ์ ๋ฌด์กฐ๊ฑด 100%๊ฐ ๋๋ฉด ๋๋๋ ๊ฒ์ด๋ฏ๋ก end์งํฉ์ ๋ฃ์ด์ค๋ค.
๊ทธ๋ฆฌ๊ณ progress[0] = 0์ผ๋ก ํด์ฃผ๋ ์ด์ ๋ ๋ง์ง๋ง์ ์ค๋ช ํจ.
๊ทธ๋ฆฌ๊ณ ๋งจ ์ฒ์ ๊ฐ์ด ์๋ ๊ฒฝ์ฐ์ end์งํฉ์ ๋ฐ๋ก ๊ทธ ์ index(end.count-1)๊ฐ ์๊ณ ,wait์ ํ์ฌ index(end.count)๊ฐ ์๋์ง ํ์ธํ๊ณ
์กฐ๊ฑด์ ๋ถ์ํ๋ฉด end์งํฉ์ ์ถ๊ฐํด์ฃผ๊ณ count๋ฅผ +1ํด์ค๋ค. ์๋์ผ๋ก end.count๊ฐ ์ฌ๋ผ๊ฐ๋ฏ๋ก while๋ฌธ์ ๋ฐ๋ณตํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณค count๊ฐ 0๋ณด๋ค ํด ๊ฒฝ์ฐ count๋ฅผ answer์ ์ถ๊ฐํด์ค๋ค.
์ฌ๊ธฐ์ progress[0] = 0 ์ ์ค์ ํด์ฃผ์ง ์์ผ๋ฉด count๊ฐ ๋ฌด์กฐ๊ฑด +1๋ ์ํ์ด๋ฏ๋ก 1์ด ๊ณ์ ์ถ๊ฐ๋๊ฒ ๋๋ค. progress[0]์ 0์ผ๋ก ํด์ฃผ๊ฒ ๋๋ฉด count +1์ด ์ ์ฉ๋์ง ์๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
import Foundation
func solution(_ progresses:[Int], _ speeds:[Int]) -> [Int] {
var end:Set<Int> = []
var progress = progresses
var answer = [Int]()
var wait:Set<Int> = []
var count = 0
progress[i] += speeds[i]
if progress[i] >= 100 {
if i == 0 {
progress[0] = 0
count += 1
}
count += 1
}
}
}
if count > 0{
}
}
return answer
}
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5text-decoration:none">Colored by Color Scripter
|
'๐ Problem Solution > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค ์ ๋ง๋๊ธฐ Swift (0) | 2020.03.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค ์คํฌํธ๋ฆฌ Swift (0) | 2020.03.25 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ฉ์ฉกํ ์ฌ๊ฐํ Swift (0) | 2020.03.21 |
ํ๋ก๊ทธ๋๋จธ์ค ํ Swift (0) | 2020.03.19 |
ํ๋ก๊ทธ๋๋จธ์ค ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ Swift (0) | 2020.03.19 |
๋๊ธ