ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฅ ๋ฌธ์
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ ์ ์์ผ๋ฉฐ, ๋ค๋ฆฌ๋ weight ์ดํ๊น์ง์ ๋ฌด๊ฒ๋ฅผ ๊ฒฌ๋ ์ ์์ต๋๋ค. ๋จ, ๋ค๋ฆฌ์ ์์ ํ ์ค๋ฅด์ง ์์ ํธ๋ญ์ ๋ฌด๊ฒ๋ ๋ฌด์ํฉ๋๋ค.
solution ํจ์์ ๋งค๊ฐ๋ณ์๋ก ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ ์ bridge_length, ๋ค๋ฆฌ๊ฐ ๊ฒฌ๋ ์ ์๋ ๋ฌด๊ฒ weight, ํธ๋ญ ๋ณ ๋ฌด๊ฒ truck_weights๊ฐ ์ฃผ์ด์ง๋๋ค. ์ด๋ ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
๐ค ํ์ด ๋ฐฉ๋ฒ
- ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ ์ : 2 / ๋ค๋ฆฌ๊ฐ ๊ฒฌ๋ ์ ์๋ ๋ฌด๊ฒ : 10, / ํธ๋ญ ๋ณ ๋ฌด๊ฒ : [7, 4, 5, 6]
๊ฒฝ๊ณผ ์๊ฐ ๋ค๋ฆฌ๋ฅผ ์ง๋ ํธ๋ญ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ํธ๋ญ ๋๊ธฐ ํธ๋ญ 0 7, 4, 5, 6 1 7 4, 5, 6 2 7 4, 5, 6 3 7 4 5, 6 4 7 4, 5 6 5 7, 4 5 6 6 7, 4, 5 6 7 7, 4, 5 6 8 7, 4, 5, 6
- ๋ค๋ฆฌ์ ์ฌ๋ผ๊ฐ ์ ์๋ ํธ๋ญ ์ : 100 / ๋ค๋ฆฌ๊ฐ ๊ฒฌ๋ ์ ์๋ ๋ฌด๊ฒ : 100, / ํธ๋ญ ๋ณ ๋ฌด๊ฒ : [10]
๊ฒฝ๊ณผ ์๊ฐ ๋ค๋ฆฌ๋ฅผ ์ง๋ ํธ๋ญ ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ํธ๋ญ ๋๊ธฐ ํธ๋ญ 0 10 1 ~ 100 10 101 10
๐ฉ๐ป๐ป Swift Code
import Foundation
func solution(_ bridge_length:Int, _ weight:Int, _ truck_weights:[Int]) -> Int {
var truck = truck_weights
var bridge: [Int] = Array(repeating: 0, count: bridge_length)
var arrived: [Int] = []
var weightSum = 0
var time = 0
while true {
if arrived == truck_weights { break }
time += 1
if bridge.first! != 0 {
arrived.append(bridge.first!)
}
weightSum -= bridge.first!
bridge.removeFirst()
if truck != [] && weightSum + truck.first! <= weight {
weightSum += truck.first!
bridge.append(truck.first!)
truck.removeFirst()
} else {
bridge.append(0)
}
}
return time
}
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
ํธ๋ญ ์ฌ๋ฌ ๋๊ฐ ๊ฐ์ ๊ฐ๋ก์ง๋ฅด๋ ์ผ์ฐจ์ ๋ค๋ฆฌ๋ฅผ ์ ํด์ง ์์ผ๋ก ๊ฑด๋๋ ค ํฉ๋๋ค. ๋ชจ๋ ํธ๋ญ์ด ๋ค๋ฆฌ๋ฅผ ๊ฑด๋๋ ค๋ฉด ์ต์ ๋ช ์ด๊ฐ ๊ฑธ๋ฆฌ๋์ง ์์๋ด์ผ ํฉ๋๋ค. ๋ค๋ฆฌ์๋ ํธ๋ญ์ด ์ต๋ bridge_length๋ ์ฌ๋ผ๊ฐ
programmers.co.kr
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Algorithm] ํ๋ฆฐํฐ (0) | 2021.06.21 |
---|---|
[Algorithm] ๊ธฐ๋ฅ๊ฐ๋ฐ (0) | 2021.06.21 |
[Algorithm] ์์ฅ (ํด์) (0) | 2021.06.21 |
[Algorithm] ๋คํธ์ํฌ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.06.21 |
[Algorithm] ํ๊ฒ ๋๋ฒ (๊น์ด ์ฐ์ ํ์(DFS)) (0) | 2021.06.20 |
- Total
- Today
- Yesterday
- ๋ณ์ก
- BOJ
- abs()
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- TIL
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- ์ต๋๊ณต์ฝ์
- DFS
- programmers
- Git
- compactMap
- mysql
- map
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- UISearchController
- ๊น์ด ์ฐ์ ํ์
- Kakao
- ํ๋ก๊ทธ๋๋จธ์ค
- SWIFT
- Algorithm
- Firebase
- iTunes Search API
- ์ต์๊ณต๋ฐฐ์
- java
- ternary
- ๋ฌ๋ ฅ
- calendar
- sql
- Baekjoon
- IOS
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |