μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
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 |
- μ½ν
- dp
- μ ν΄λ¦¬λ νΈμ λ²
- BFS
- λΆν μ 볡
- λΉνΈμ°μ°μ
- μ΄μ§νμ
- dfs
- μ€ν
- λ¬Έμμ΄
- λΈλ£¨νΈν¬μ€
- μκ³ λ¦¬μ¦
- 그리λ μκ³ λ¦¬μ¦
- Swift
- λΈλ£¨νΈν¬μ€ μκ³ λ¦¬μ¦
- SwiftUI
- μμ
- λ°±μ€
- μ½λ©ν μ€νΈ
- λΆν μ 볡
- λμ ν©
- WebApp
- λ°±νΈλνΉ
- νλ‘κ·Έλλ¨Έμ€
- WebView
- ios
- Queue
- λΆν νμ
- Today
- Total
MUKER_DEV with iOS
[swift] νλ‘κ·Έλλ¨Έμ€ - [1μ°¨] λ€νΈ κ²μ λ³Έλ¬Έ
[swift] νλ‘κ·Έλλ¨Έμ€ - [1μ°¨] λ€νΈ κ²μ
MUKER 2023. 1. 18. 17:37νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ 맀μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
λ¬Έμ νΈλ λ° μμ΄ λμμ΄ λλλ‘ λμ νμ΄μ κ°μ λ νμ΄λ₯Ό μ¬λ¦½λλ€.
λν νμ΄ ν λ€λ₯Έ μ¬λμ νμ΄λ₯Ό λ³΄κ³ μ°Έκ³ ν λ§ν νμ΄λ μ¬λ¦½λλ€.
- λ¬Έμ μ λ°λΌ λμ νμ΄λ§ μμ μ μμ΅λλ€.
- ν΄λΉ νμ΄λ€μ νμ΄ μ€ νλμΌ λΏ μ΅μ μ νμ΄λ μλ μ μμ΅λλ€.
λμ νμ΄
import Foundation
func solution(_ dartResult:String) -> Int {
var num = [Int]()
var numCount = 0
var last = ""
dartResult.forEach { i in
if Int(String(i)) != nil {
num.append(Int(String(i))!)
numCount += 1
}
switch i {
case "0":
if num.count >= 1 && last == "1" {
num[numCount-2] += 9
num.removeLast()
numCount -= 1
}
case "D": num[numCount-1] = num[numCount-1] * num[numCount-1]
case "T": num[numCount-1] = num[numCount-1] * num[numCount-1] * num[numCount-1]
case "*":
if num.count == 1 {
num[numCount-1] = num[numCount-1] * 2
} else {
num[numCount-1] = num[numCount-1] * 2
num[numCount-2] = num[numCount-2] * 2
}
case "#": num[numCount-1] = num[numCount-1] * (-1)
default: last = "\(i)" return
}
last = "\(i)"
}
return num.reduce(0,+)
}
Intλ°°μ΄μ λ§λ€μ΄μ 3λ²μ μ μλ₯Ό λ£μ΄, μ΄ ν©μ ꡬν΄μ£Όλ λ°©μμΌλ‘ νμμ΅λλ€.
μ μ 10μ μ΄ μλ 1,0μ μΌλ‘ λ°λ‘ μΈμνκΈ° λλ¬Έμ
0μ΄ λμ¨λ€λ©΄ μ μ λ¬Έμλ₯Ό κΈ°μ΅νμ¬ 1μ΄μλ€λ©΄1μ 9λ₯Ό λν΄ 10μ λ§λ€μ΄μ£Όμμ΅λλ€.
κ°μ λ νμ΄
import Foundation
func solution(_ dartResult:String) -> Int {
var scores = dartResult.split(whereSeparator: { !$0.isNumber }).map { Int($0)! }
let letters = dartResult.split(whereSeparator: { $0.isNumber })
for (index, letter) in letters.enumerated() {
letter.forEach {
let score = scores[index]
switch $0 {
case "D":
scores[index] = score * score
case "T":
scores[index] = score * score * score
case "*":
scores[index] = 2 * score
if index - 1 >= 0 {
scores[index - 1] = 2 * scores[index - 1]
}
case "#":
scores[index] = -score
default:
break
}
}
}
return scores.reduce(0, +)
}
ν΄λΉ νμ΄λ splitμ whereSeparator νλΌλ―Έν°λ₯Ό μ΄μ©ν΄μ
μ«μμ λ¬Έμ κ°κ° λκ°μ λ°°μ΄μ λ§λ€μ΄ νμ΄μ€¬λ€μ.
ν΄λΉνμ΄λ μ«μ 1,0μ λ°λ‘ λ€λ£¨μ§ μκ³
μ¨μ ν 10μΌλ‘ μΆμΆν μ μκΈ° λλ¬Έμ
ν¨μ¬ κΉλνκ² νμ΄κ° λμ€λ€μ.
'π€ μκ³ λ¦¬μ¦ > programmers' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[swift] νλ‘κ·Έλλ¨Έμ€ - ν¬λ μΈ μΈνλ½κΈ° κ²μ (0) | 2023.01.20 |
---|---|
[swift] νλ‘κ·Έλλ¨Έμ€ - ν€ν¨λ λλ₯΄κΈ° (0) | 2023.01.19 |
[swift] νλ‘κ·Έλλ¨Έμ€ - νΈλ νμ΄νΈ λν (0) | 2023.01.17 |
[swift] νλ‘κ·Έλλ¨Έμ€ - ν¬κΈ°κ° μμ λΆλΆλ¬Έμμ΄ (0) | 2023.01.13 |
[swift] νλ‘κ·Έλλ¨Έμ€ - μ€ν¨μ¨ (0) | 2023.01.12 |