728x90
[๋ฌธ์ ๋งํฌ] ๐
SW Expert Academy
SW ํ๋ก๊ทธ๋๋ฐ ์ญ๋ ๊ฐํ์ ๋์์ด ๋๋ ๋ค์ํ ํ์ต ์ปจํ ์ธ ๋ฅผ ํ์ธํ์ธ์!
swexpertacademy.com
Solution
T = int(input()) # ํ
์คํธ ์ผ์ด์ค ์
for test_case in range(1, T + 1):
word = input().strip()
word = sorted(word) # ์ ๋ ฌํ๊ธฐ
result = ""
for i in word:
if word.count(i) % 2 != 0:
if i not in result:
result += i
if len(result) == 0:
result = "Good"
print(f"#{test_case} {result}")
์ด ๋ฌธ์ ์์๋ ๊ฐ ๋ฌธ์์ ๊ฐ์๋ฅผ ์ง์ง์ด ๋จ๋ ๋ฌธ์๋ฅผ ์ฐพ๊ธฐ ๋๋ฌธ์, count() ํจ์๋ฅผ ๋ฐ๋ณต์ ์ผ๋ก ํธ์ถํ์ง ์๊ณ , ๋ฌธ์ ๋น๋์๋ฅผ ์ ์ฅํ ํ, ๊ฐ ๋ฌธ์๊ฐ ์ง์ด ๋ง์ง ์๋์ง ํ์ธํ์ฌ ๋จ๋ ๋ฌธ์๋ฅผ ์ถ์ถํ๋ ๊ฒ์ด ๋ ํจ์จ์ ์ด๋ค. Counter๋ฅผ ํ์ฉํด ๊ฐ ๋ฌธ์์ ๋ฑ์ฅ ํ์๋ฅผ ๊ตฌํ๊ณ , ํ์ ๊ฐ์์ธ ๋ฌธ์๋ง ๊ฒฐ๊ณผ์ ์ถ๊ฐํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ต์ ํํ ์ ์๋ค.
๊ฐ์ ํ ์
- Counter๋ฅผ ์ฌ์ฉํ ๋น๋ ๊ณ์ฐ
- Counter๋ ๋ฌธ์์ด ์ ์ฒด๋ฅผ ํ ๋ฒ๋ง ์ํํ์ฌ ๊ฐ ๋ฌธ์์ ๋น๋๋ฅผ ๊ธฐ๋กํ๋ฏ๋ก ํจ์จ์ ์ด๋ค.
- ์ฌ์ ์์
- ์ต์ข ์ ์ผ๋ก ๋จ๋ ๋ฌธ์๋ฅผ sorted()๋ก ์ ๋ ฌํ์ฌ ์ฌ์ ์์๋ฅผ ์ ์งํ๋ค.
- ์กฐ๊ฑด๋ถ ์ถ๊ฐ
- count % 2 != 0 ์กฐ๊ฑด์ ํตํด ํ์ ๊ฐ์์ธ ๋ฌธ์๋ง ๋น ๋ฅด๊ฒ ์ถ์ถํ๋ค.
์ต์ ํ๋ ์ฝ๋
from collections import Counter
T = int(input()) # ํ
์คํธ ์ผ์ด์ค ์
for test_case in range(1, T + 1):
word = input().strip()
char_count = Counter(word) # ๊ฐ ๋ฌธ์์ ๊ฐ์๋ฅผ ์ธ์ด ์ ์ฅ
# ํ์ ๊ฐ์์ธ ๋ฌธ์๋ง ๋จ๊น
result = ''.join(sorted(char for char, count in char_count.items() if count % 2 != 0))
# ๋จ๋ ๋ฌธ์๊ฐ ์๋ค๋ฉด "Good"์ ์ถ๋ ฅ
if not result:
result = "Good"
print(f"#{test_case} {result}")
์ปดํ๋ฆฌํจ์ ์ ์ฐ์ง ์์ ์ฝ๋
result = []
for char, count in char_count.items():
if count % 2 != 0:
result.append(char)
result = ''.join(sorted(result))
728x90
'๐งฉ Algorithm > SWEA' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SWEA] 15230. ์ํ๋ฒณ ๊ณต๋ถ (Python/D3) (0) | 2024.11.04 |
|---|---|
| [SWEA] 19185. ์ก์ญ๊ฐ์ (Python/D3) (0) | 2024.11.03 |
| [SWEA] 1222. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 6์ผ์ฐจ - ๊ณ์ฐ๊ธฐ1 (Python/D4) (0) | 2024.10.31 |
| [SWEA] 13547. ํ์จ๋ฆ (Python/D3) (0) | 2024.10.30 |
| [SWEA] 1229. [S/W ๋ฌธ์ ํด๊ฒฐ ๊ธฐ๋ณธ] 8์ผ์ฐจ - ์ํธ๋ฌธ2 (Python/D3) (0) | 2024.10.30 |