μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- λΆν νμ
- WebView
- μμ
- ios
- SwiftUI
- λ°±μ€
- λΈλ£¨νΈν¬μ€
- Queue
- μ½ν
- BFS
- λ°±νΈλνΉ
- λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦
- μκ³ λ¦¬μ¦
- dp
- νλ‘κ·Έλλ¨Έμ€
- μ€ν
- WebApp
- λ¬Έμμ΄
- λΆν μ 볡
- 그리λ μκ³ λ¦¬μ¦
- μ½λ©ν μ€νΈ
- λμ ν©
- μ ν΄λ¦¬λ νΈμ λ²
- λΆν μ 볡
- μ΄μ§νμ
- λΉνΈμ°μ°μ
- Swift
- dfs
- Today
- Total
MUKER_DEV with iOS
[swift] λ°±μ€ - 2164λ²: μΉ΄λ2 λ³Έλ¬Έ
2164λ²: μΉ΄λ2
Nμ₯μ μΉ΄λκ° μλ€. κ°κ°μ μΉ΄λλ μ°¨λ‘λ‘ 1λΆν° NκΉμ§μ λ²νΈκ° λΆμ΄ μμΌλ©°, 1λ² μΉ΄λκ° μ μΌ μμ, Nλ² μΉ΄λκ° μ μΌ μλμΈ μνλ‘ μμλλ‘ μΉ΄λκ° λμ¬ μλ€. μ΄μ λ€μκ³Ό κ°μ λμμ μΉ΄λκ°
www.acmicpc.net
λ¬Έμ νΈλ λ° μμ΄ λμμ΄ λλλ‘ λμ νμ΄μ κ°μ λ νμ΄λ₯Ό μ¬λ¦½λλ€.
λν νμ΄ ν λ€λ₯Έ μ¬λμ νμ΄λ₯Ό λ³΄κ³ μ°Έκ³ ν λ§ν νμ΄λ μ¬λ¦½λλ€.
- λ¬Έμ μ λ°λΌ λμ νμ΄λ§ μμ μ μμ΅λλ€.
- ν΄λΉ νμ΄λ€μ νμ΄ μ€ νλμΌ λΏ μ΅μ μ νμ΄λ μλ μ μμ΅λλ€.
λ¬Έμ μ€λͺ
- 첫 λ²μ§Έ μ«μλ μ§μ°κ³ , λ λ²μ§Έ μ«μλ μ μΌ λ€λ‘ 보λ λλ€.(μμμ μ¬λΌμ§)
ν΄λΉ λͺ λ Ήμ λ°λ³΅νμ¬ λ§μ§λ§ λ¨λ νλμ μ«μλ₯Ό μΆλ ₯ν©λλ€.
- κΈ°λ³Έμ μΈ νμ ννλ‘ νλ©΄λμ§λ§
μ«μλ₯Ό μ§μ°λ κ³Όμ μμ removeν¨μλ₯Ό μ°κ² λλ©΄
μκ° μ΄κ³Όκ° λ©λλ€.
- μ΄μ λ μΈλ±μ€ μ 체λ₯Ό μμΌλ‘ λΉκ²¨μ€λ κ³Όμ μμ
O(n)λ§νΌ μκ°μ΄ 걸리기 λλ¬Έμ λλ€.
- λ°λΌ μκ°μ νμ ν΅κ³Όν μ μκ² μ½λλ₯Ό μ§λ©΄ λκ² μ΅λλ€.
λμ νμ΄
import Foundation
let N = Int(readLine()!)!
var card: [Int?] = (1...N).map { $0 }
var head = 0
while true {
guard card.count != 1 else { print(1); break }
card[head] = nil
if card[card.count-2] == nil { print(card[card.count-1]!); break }
card.append(card[head+1])
card[head+1] = nil
head += 2
}
- headλΌλ μΈλ±μ€ κΈ°μ΅λ³μλ₯Ό λ§λ€μμ΅λλ€.
ν΄λΉ λ³μλ λ°°μ΄μ΄ remove λλ κ² μλ
nilλ‘ λ³νκΈ° λλ¬Έμ
λ¨μ μλ λ°°μ΄μ 건λλ°μ΄μ£ΌκΈ° μν΄ μμ±νμ΅λλ€.
- headλ ν λ²μ λ°λ³΅μμ 2κ°μ κ°μ nilλ‘ λ§λ€κΈ° λλ¬Έμ
λ°λ³΅λ§λ€ + 2μ© λν΄μ£Όκ² λ©λλ€.
- λ°λ³΅λ¬Έμ λλ€ λ§μ§λ§μμ 2λ²μ§ΈμΈ κ°μ΄ nilμ΄ λλ€λ©΄
κ°μ νλκ° λ¨μλ€λ κ²μ΄κ³
ν΄λΉ λ§μ§λ§κ°μ μΆλ ₯ν΄ μ£Όλ©΄ λ©λλ€.
- λ§μ½ Nμ΄ 1μ΄λΌλ©΄ λ°νμμ€λ₯κ° λ¨κΈ° λλ¬Έμ
guardλ¬ΈμΌλ‘ countκ° 1μ΄λΌλ©΄ 1μ μΆλ ₯νκ² μμΈλ₯Ό λμ΅λλ€.
μ°Έκ³ ν λ§ν νμ΄
var N = Int(readLine()!)!
var Q = (1...N).map{$0}
var cursor = 0
while cursor < N-1 {
cursor += 2
Q.append(Q[cursor-1])
N+=1
}
print(Q[cursor])
- whileλ¬Έμ 쑰건μ μ€μ νΈλ
λ κΉλνκ² μ½λκ° λμ¬ μ μλ€μ.
let N = Int(readLine()!)!
var i = 1
while true {
if N >= i , N < i*2 {
break
}else{
i *= 2
}
}
let remain = N-i
if remain == 0 {
print(i)
}else {
print(2*remain)
}
- λκ° νλ₯Ό μ¬μ©νμ§ μκ³ ν μ μμ κ±° κ°μλλ°
μκ³ λ¦¬μ¦μ΄ μκ°λμ§ μμμ μλλ λͺ»νμμ΅λλ€.
- νμ§λ§ μμ λκ΅°κ°λ νμλ€μ..γ γ
'π€ μκ³ λ¦¬μ¦ > BAEKJOON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[swift] λ°±μ€ - 9012λ²: κ΄νΈ (0) | 2023.02.14 |
---|---|
[swift] λ°±μ€ - 4949λ²: κ· νμ‘ν μΈμ (0) | 2023.02.14 |
[swift] λ°±μ€ - 1920λ²: μ μ°ΎκΈ° (0) | 2023.02.13 |
[swift] λ°±μ€ - 7568λ²: λ©μΉ (0) | 2023.02.12 |
[swift] λ°±μ€ - 1018λ²: 체μ€ν λ€μ μΉ νκΈ° (0) | 2023.02.11 |