[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 5๋ฒ) ํฐ๋ฆฐ๋๋กฌ ๊ธธ์ด
by Hi.Claire๐ฅ๏ธ ์ ๋ฌธ์๋ฅผ ์ํ ์ฝ๋ฉํ ์คํธ ํต์ฌ - Python (๊นํ์, ์ธํ๋ฐ)
์น์ 3. ํด์(Hash)
(๋ฌธ์ 5๋ฒ) ํฐ๋ฆฐ๋๋กฌ ๊ธธ์ด
๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ฉด ํด๋น ๋ฌธ์์ด์ ๋ฌธ์๋ค์ ๊ฐ์ง๊ณ ๋ง๋ค ์ ์๋ ์ต๋๊ธธ์ด ํฐ๋ฆฐ๋๋กฌ์ ๋ง๋ค๊ณ ๊ทธ ๊ธธ์ด๋ฅผ ๊ตฌํ์ธ์.
๋ฌธ์์ด์ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
๋ง์ฝ "abcbbbccaaeee"๊ฐ ์ฃผ์ด์ง๋ค๋ฉด ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ๊ธด ํฐ๋ฆฐ๋๋กฌ์ "ecbbaaabbce"์ด๊ณ ๋ต์ 11์ ๋๋ค.
์ ์ถ๋ ฅ ์
s | answer |
"abcbbbccaaeee" | 11 |
"aabbccddee"
|
10 |
"fgfgabtetaaaetytceefcecekefefkccckbsgaafffg"
|
41 |
"aabcefagcefbcabbcc"
|
17 |
"abcbbbccaa"
|
9 |
์ ํ์ฌํญ
- s์ ๊ธธ์ด๋ 1,000์ ๋์ง ์์ต๋๋ค.
ํ์ด
๋ถ์
๋น๋์๊ฐ ์ง์์ธ ๋ฌธ์๋ ๋ชจ๋ ํฌํจํ๋ค.
๋น๋์๊ฐ ํ์์ธ ๋ฌธ์๋ 1์ ๋บ ๊ฐ์๋ง ํฌํจํ๋ค. ๋น๋์๊ฐ ํ์์ธ ๋ฌธ์๊ฐ 1๊ฐ ์ด์์ผ ๋ ์ต์ข ๋ต์ 1์ ๋ํด์ค๋ค. (ํฐ๋ฆฐ๋๋กฌ์ ์ค์ฌ์๋ ํ์๊ฐ์ธ ๋ฌธ์๊ฐ ์ฌ ์ ์์ผ๋ฏ๋ก)
ํ์ด
from collections import Counter
def solution(s):
answer = 0
oddDict = dict()
count = Counter(s)
for key in count:
if count[key] % 2 == 0:
answer += count[key]
else:
oddDict[key] = count[key]
for key in oddDict:
answer += oddDict[key] - 1
if len(oddDict) >= 1:
answer += 1
return answer
print(solution("abcbbbccaaeee"))
print(solution("aabbccddee"))
print(solution("fgfgabtetaaaetytceefcecekefefkccckbsgaafffg"))
print(solution("aabcefagcefbcabbcc"))
print(solution("abcbbbccaa"))
11
10
41
17
9
์ ๋ต ํ์ด
๋ถ์
๋ฌธ์์ด์ ๋น๋์๊ฐ ํ์์ธ ๋ฌธ์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด ์ ์ฒด ๋ฌธ์์ด์ ๊ธธ์ด๋ฅผ ๋ฐํํ๋ค.
๋น๋์๊ฐ ํ์์ธ ๋ฌธ์๊ฐ ์กด์ฌํ๋ฉด ๊ทธ ์ค์์ 1๊ฐ๋ง ์ ์ฒด ๊ฐ์๋ฅผ ์ฌ์ฉํ ์ ์๊ณ (ํฐ๋ฆฐ๋๋กฌ์ ์ค์ฌ์ ์์น), ๋๋จธ์ง ๋ฌธ์๋ค์ 1๊ฐ๋ฅผ ๋บ ์ง์๊ฐ๋ง ์ฌ์ฉํ ์ ์๋ค.
ํ์ด
from collections import Counter
def solution(s):
count = Counter(s)
odd = 0
for key in count:
if count[key] % 2 == 1:
odd += 1
return len(s) - odd + 1 if odd > 0 else len(s)
print(solution("abcbbbccaaeee"))
print(solution("aabbccddee"))
print(solution("fgfgabtetaaaetytceefcecekefefkccckbsgaafffg"))
print(solution("aabcefagcefbcabbcc"))
print(solution("abcbbbccaa"))
11
10
41
17
9
'๐ ์ฝ๋ฉํ ์คํธ > ์ ๋ฌธ์๋ฅผ ์ํ ์ฝ๋ฉํ ์คํธ ํต์ฌ - Python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 6๋ฒ) ๋ ์์ ํฉ (2) | 2024.09.17 |
---|---|
[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 4๋ฒ) ํฐ๋ฆฐ๋๋กฌ ํ์ธ (0) | 2024.09.08 |
[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 3๋ฒ) ์๊ธฐ ๋ถ์ด์ (0) | 2024.09.01 |
[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 2๋ฒ) ๋น๋์(ver 2) (0) | 2024.08.31 |
[Python ์ฝํ ์ ๋ฌธ] 3. (๋ฌธ์ 1๋ฒ) ๋น๋์(ver 1) (0) | 2024.07.06 |
๋ธ๋ก๊ทธ์ ์ ๋ณด
Claire's Study Note
Hi.Claire