ํฐ์คํ ๋ฆฌ ๋ทฐ
๐ฅ ๋ฌธ์
์ผ๋ฐ์ ์ธ ํ๋ฆฐํฐ๋ ์ธ์ ์์ฒญ์ด ๋ค์ด์จ ์์๋๋ก ์ธ์ํฉ๋๋ค. ๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ์ค์ํ ๋ฌธ์๊ฐ ๋์ค์ ์ธ์๋ ์ ์์ต๋๋ค. ์ด๋ฐ ๋ฌธ์ ๋ฅผ ๋ณด์ํ๊ธฐ ์ํด ์ค์๋๊ฐ ๋์ ๋ฌธ์๋ฅผ ๋จผ์ ์ธ์ํ๋ ํ๋ฆฐํฐ๋ฅผ ๊ฐ๋ฐํ์ต๋๋ค. ์ด ์๋กญ๊ฒ ๊ฐ๋ฐํ ํ๋ฆฐํฐ๋ ์๋์ ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ธ์ ์์ ์ ์ํํฉ๋๋ค.
1. ์ธ์ ๋๊ธฐ๋ชฉ๋ก์ ๊ฐ์ฅ ์์ ์๋ ๋ฌธ์(J)๋ฅผ ๋๊ธฐ๋ชฉ๋ก์์ ๊บผ๋
๋๋ค.
2. ๋๋จธ์ง ์ธ์ ๋๊ธฐ๋ชฉ๋ก์์ J๋ณด๋ค ์ค์๋๊ฐ ๋์ ๋ฌธ์๊ฐ ํ ๊ฐ๋ผ๋ ์กด์ฌํ๋ฉด J๋ฅผ ๋๊ธฐ๋ชฉ๋ก์ ๊ฐ์ฅ ๋ง์ง๋ง์ ๋ฃ์ต๋๋ค.
3. ๊ทธ๋ ์ง ์์ผ๋ฉด J๋ฅผ ์ธ์ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, 4๊ฐ์ ๋ฌธ์(A, B, C, D)๊ฐ ์์๋๋ก ์ธ์ ๋๊ธฐ๋ชฉ๋ก์ ์๊ณ ์ค์๋๊ฐ 2 1 3 2 ๋ผ๋ฉด C D A B ์์ผ๋ก ์ธ์ํ๊ฒ ๋ฉ๋๋ค.
๋ด๊ฐ ์ธ์๋ฅผ ์์ฒญํ ๋ฌธ์๊ฐ ๋ช ๋ฒ์งธ๋ก ์ธ์๋๋์ง ์๊ณ ์ถ์ต๋๋ค. ์์ ์์์ C๋ 1๋ฒ์งธ๋ก, A๋ 3๋ฒ์งธ๋ก ์ธ์๋ฉ๋๋ค.
ํ์ฌ ๋๊ธฐ๋ชฉ๋ก์ ์๋ ๋ฌธ์์ ์ค์๋๊ฐ ์์๋๋ก ๋ด๊ธด ๋ฐฐ์ด priorities์ ๋ด๊ฐ ์ธ์๋ฅผ ์์ฒญํ ๋ฌธ์๊ฐ ํ์ฌ ๋๊ธฐ๋ชฉ๋ก์ ์ด๋ค ์์น์ ์๋์ง๋ฅผ ์๋ ค์ฃผ๋ location์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ๋ด๊ฐ ์ธ์๋ฅผ ์์ฒญํ ๋ฌธ์๊ฐ ๋ช ๋ฒ์งธ๋ก ์ธ์๋๋์ง return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ค ํ์ด ๋ฐฉ๋ฒ
- ์ค์๋ : [2, 1, 3, 2] / ์์น : 2
- A, B, C, D๋ผ ํ ๋, C, D, A, B ์์๋ก ์ธ์๋๋ค.
- ๋ด๊ฐ ์ธ์๋ฅผ ์์ฒญํ ๋ฌธ์๊ฐ C ์๊ธฐ ๋๋ฌธ์ 1๋ฒ์งธ๋ก ์ธ์๋๋ค.
- ์ค์๋ : [1, 1, 9, 1, 1, 1] / ์์น : 0
- C, D, E, F, A, B ์์๋ก ์ธ์๋๋ค.
- ๋ด๊ฐ ์ธ์๋ฅผ ์์ฒญํ ๋ฌธ์๋ 5๋ฒ์งธ๋ก ์ธ์๋๋ค.
๐ฉ๐ป๐ป Swift Code
import Foundation
func solution(_ priorities:[Int], _ location:Int) -> Int {
var priorities = priorities
var location = location
var answer = 0
while true {
if priorities.first == priorities.max() {
priorities.remove(at: 0)
answer += 1
if location == 0 { break } else { location -= 1 }
} else {
priorities.append(priorities.first!)
priorities.remove(at: 0)
location -= 1
}
if location == -1 {
location = priorities.count - 1
}
}
return answer
}
'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
- iTunes Search API
- ๋ฌ๋ ฅ
- BOJ
- ์ ํด๋ฆฌ๋ ํธ์ ๋ฒ
- abs()
- ์๋กํ ์คํ ๋ค์ค์ ์ฒด
- Algorithm
- Baekjoon
- Git
- calendar
- map
- compactMap
- ์ต์๊ณต๋ฐฐ์
- SWIFT
- java
- Kakao
- ๋ณ์ก
- IOS
- DFS
- Firebase
- TIL
- ๋ค๋ฆฌ๋ฅผ ์ง๋๋ ํธ๋ญ
- mysql
- ternary
- ๊น์ด ์ฐ์ ํ์
- programmers
- sql
- ํ๋ก๊ทธ๋๋จธ์ค
- UISearchController
- ์ต๋๊ณต์ฝ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |