- ํ๋ก๊ทธ๋๋จธ์ค
- ๋นํธ๋ง์คํน
- BFS
- ์๊ณ ๋ฆฌ์ฆ
- ํธ๋ฆฌ
- Python
- ์น๋ฆฐ์ด
- ๋นํธ๋งต
- go
- js
- ์นด์นด์ค ์ฝํ
- DFS
- ์ด๋ถํ์
- ์ํฐ๋
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- DP
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- ๋ฐฑ์ค
- golang
- LCs
- C++
- nestjs
- Union-Find
- ๋ค์ต์คํธ๋ผ
- ์ฌ๊ท
- ์นด์นด์ค2021
- ์์ฝ๋
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- ํ๋ฆฌ์จ๋ณด๋ฉ
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
Hello Ocean! ๐ผ
[๋ฐฑ์ค/Python] 1501. ์์ด ์ฝ๊ธฐ ๋ณธ๋ฌธ
๋ฌธ์
https://www.acmicpc.net/problem/1501
ํ์ด
๋ฌธ์ฅ์ ํด์ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ ๊ตฌํด์ผ ํ๋ค.
๋ฌธ์ฅ์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ์๋ผ์ ๋จ์ด๋ค๋ก ๋ง๋ค์๋ค.
๊ฐ ๋จ์ด๋ค์ ๋งจ ์๊ณผ ๋งจ ๋ท ๊ธ์๋ฅผ ์ ์ธํ๊ณ ์์๋ฅผ ๋ฐ๊พธ์ด ๋ค์ํ ๊ฒฝ์ฐ์ ์๋ฅผ ๋ง๋ค ์ ์๋ค.
์ด ๊ฒฝ์ฐ์ ์ ์ค์ ์ฌ์ ์์ ์ฐพ์ ์ ์๋ ๊ฒฝ์ฐ์ ์๊ฐ ํ์ํ๋ค.
์ค๊ฐ์ ํท๊ฐ๋ ธ๋ ์ ์,
์ด๋ค ๋ฌธ์ฅ์ด 3๊ฐ์ ๋จ์ด๋ก ๊ตฌ์ฑ๋์ด ์๊ณ , ๊ฐ๊ฐ 2๊ฐ์ง, 0๊ฐ์ง, 3๊ฐ์ง๋ก ํด์๋ ์ ์๋ ๊ฒฝ์ฐ์
2*0*3 = 0์ด ์๋๋ผ, 0์ ์๋ ์ ์น๊ณ 2*3 = 6์ด ๋ต์ด ๋๋ค๋ ๊ฒ์ด์๋ค.
์๋ฃ๊ตฌ์กฐ๋ก dict๋ฅผ ์ด์ฉํ์๋๋ฐ, key๋ฅผ "(๋งจ์๊ธ์)(๋งจ๋ท๊ธ์)(๊ฐ์ด๋ฐ๋ฌธ์๋ค์ ๋ ฌ)"๋ก ์ด์ฉํ์๋ค.
์๋ฅผ๋ค์ด "befakdf" ๋ "bfadefk"๊ฐ ๋๋ค.
๋ฐ๋ผ์, ์ฌ์ ์ "abec"์ "aebc"๊ฐ ์๋ค๋ฉด ์ด ๋์ key๋ ๊ฐ๋ค.
๊ทธ๋์ value๋ ํด๋น key๊ฐ ๋ฑ์ฅํ ํ์๋ฅผ ๋ฃ์ด์ฃผ์๋ค.
์ฌ์ ์ ๋ชจ๋ ๋ง๋ ํ์
๋ฌธ์ฅ์ ์๋ ๋จ์ด๋ค์ dict์์ key๋ฅผ ๋ง๋ ๋ฐฉ๋ฒ๊ณผ ๋์ผํ๊ฒ ๋ง๋ค์ด์, ์ฌ์ ์์ value๋ฅผ ์กฐํํ ๋ค value๊ฐ 0์ด ์๋ ๊ฒฝ์ฐ์๋ง ๊ณฑํด์ฃผ์๋ค.
* ์์์ key๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์์, 1๊ธ์์ 2๊ธ์์ง๋ฆฌ๋ if๋ก ๊ฒ์ฌํด์ ๋ฐ๋ก key๋ฅผ ๋ง๋ค์ด์ฃผ์๋ค.
์ฝ๋
from collections import defaultdict
dic = defaultdict(dict)
N = int(input())
for i in range(N):
word = input()
if (len(word) <= 2):
try : dic[word]['']+=1
except : dic[word]['']=1
else:
first_k = word[0]+word[-1]
sec_k = str(sorted(word[1:-1]))
try : dic[first_k][sec_k]+=1
except : dic[first_k][sec_k]=1
M = int(input())
for i in range(M):
sen = input().split(' ')
count = 1
isCan = False
for idx, w in enumerate(sen):
temp = 0
if (len(w) <= 2):
try :temp += dic[w]['']
except: temp
else:
start = w[0]
end = w[-1]
middle = str(sorted(w[1:-1]))
try: temp+= dic[start+end][middle]
except: temp
if temp != 0:
count*=temp
isCan = True
if not isCan:
count = 0
print(count)
python์ผ๋ก ์ด๋ ค์ด ๋ฌธ์ ๋ฅผ ํธ๋ ๊ฒ์ด ์ฒ์์ด๋ผ ์๊ณ ๋ฆฌ์ฆ์ ๊ตฌํํ๋ ๋ถ๋ถ์ ๊ต์ฅํ ํค๋งธ๋ค.
๊ฒฐ๊ณผ
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[CS/์๊ณ ๋ฆฌ์ฆ] ๊ฑฐ์ ์ ๋ ฌ๋ List์์ ์ด๋ค ์ ๋ ฌ์ด ๊ฐ์ฅ ํจ์จ์ ์ผ๊น? (0) | 2021.10.09 |
---|---|
[CS/์๋ฃ๊ตฌ์กฐ] ์ด์ง ํ์ ํธ๋ฆฌ (BST) (0) | 2021.10.09 |
[๋ฐฑ์ค/Python] 12757. ์ ์ค์ JBNU (0) | 2021.10.06 |
[๋ฐฑ์ค/C++] 4195. ์น๊ตฌ ๋คํธ์ํฌ (0) | 2021.09.28 |
[๋ฐฑ์ค/C++] 1253. ์ข๋ค (0) | 2021.09.28 |