Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- golang
- go
- cpu scheduling
- k8s
- 백준
- Top-down
- Codility
- Kotlin
- Programmers
- easy
- GCP
- BubbleSort
- Dynamic Programming
- 파이썬
- Singleton Pattern
- Observer Pattern
- 피보나치
- Backjoon
- LeetCode
- github
- GKE
- 그리디
- mobaXTerm
- Python
- 알고리즘
- java
- docker
- kubernetes
- KAKAO
Archives
- Today
- Total
To Be Developer
[LeetCode] Find the Difference (Python) 본문
https://leetcode.com/problems/find-the-difference
class Solution(object):
def findTheDifference(self, s, t):
# s의 알파벳을 key, 알파벳 수를 value 로 가지는 딕셔너리
dicS = {}
# t의 알파벳을 key, 알파벳 수를 value 로 가지는 딕셔너리
dicT = {}
# 시간 복잡도 O(N)
# 공간 복잡도 O(N)
for i in s:
# 문자하나 카운트하여 dicS 에 대입
self.dicCount(dicS, i)
# 시간 복잡도 O(M)
for i in t:
# 문자하나 카운트하여 dicT 에 대입
self.dicCount(dicT, i)
# 시간 복잡도 O(M)
for key, val in dicT.items():
try:
# value가 dicS[key]의 value가 같은 때는 문제 없음
# 다를 때 그 key를 return 하면 문제 해결
if val == dicS[key]:
pass
else:
return key
except:
return key
# 시간 복잡도 O(N+M)
# 공간 복잡도 O(N+M)
def dicCount(self, dic, key):
try:
dic[key] += 1
except:
dic[key] = 1
'알고리즘 > LeetCode' 카테고리의 다른 글
[LeetCode] 509. Fibonacci Number (GoLang, Python) (0) | 2019.04.07 |
---|---|
[LeetCode] Monotonic Array (Python) (0) | 2019.04.05 |
[LeetCode] 643. Maximum Average SubArray I (GoLang, Python) (0) | 2019.04.02 |
[LeetCode] 724. Find Pivot Index (GoLang, Python) (0) | 2019.04.01 |
[LeetCode] 459. Repeated SubString Pattern (JAVA) (0) | 2019.03.31 |