https://school.programmers.co.kr/learn/courses/30/lessons/132265?language=python3
1. Python 풀이
def solution(topping):
topping_a = {}
topping_b = {}
for i in topping:
if i not in topping_b:
topping_b[i] = 0
topping_b[i] += 1
answer = 0
for i in topping:
if i not in topping_a:
topping_a[i] = 0
topping_a[i] += 1
if topping_b[i] == 1:
del topping_b[i]
else:
topping_b[i] -= 1
if len(topping_a) == len(topping_b):
answer += 1
return answer
2. Swift 풀이
import Foundation
func solution(_ topping:[Int]) -> Int {
var toppingA = [Int:Int]()
var toppingB = [Int:Int]()
for i in topping {
if toppingB[i] == nil {
toppingB[i] = 0
}
toppingB[i]! += 1
}
var answer = 0
for i in topping {
if toppingA[i] == nil {
toppingA[i] = 0
}
toppingA[i]! += 1
if toppingB[i] == 1 {
toppingB.removeValue(forKey: i)
}
else {
toppingB[i]! -= 1
}
if toppingA.count == toppingB.count {
answer += 1
}
}
return answer
}
[프로그래머스] 택배상자 (1) | 2024.01.16 |
---|---|
[프로그래머스] 오픈채팅방 (0) | 2024.01.10 |
[프로그래머스] 스킬트리 (1) | 2024.01.08 |
[프로그래머스] 땅따먹기 (1) | 2024.01.04 |
[프로그래머스] 뒤에 있는 큰 수 찾기 (0) | 2024.01.03 |