๋ฌธ์
์ฒซ ํ์ด์ ์คํจ
์ฐ์ ๊ฐ์ฅ ๋จผ์ ์๊ฐ๋๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฝ๋ฉ์ ํ์๋ค.
n, p = map(int, input().split())
words = [input() for _ in range(n)]
#words = []
#for i in range(len(arr)):
# words.append(arr[i][4:len(arr[i]) - 4])
obj = {}
for word in words:
for letter in word:
obj[letter] = 1
for i in range(len(words)):
for j in range(len(words[i])):
for k in range(i + 1, len(words)):
if i == k:
continue
if words[i][j] in list(words[k]):
obj[words[i][j]] += 1
letters_tuple = []
for o in obj:
letters_tuple.append((o, obj[o]))
letters_tuple.sort(key=lambda x: -x[1])
letters = []
for l in letters_tuple[:p]:
letters.append(l[0])
cnt = 0
for word in words:
flag = True
for i in range(len(word)):
if word[i] not in letters:
flag = False
break
if flag:
cnt += 1
print(cnt)
#https://www.acmicpc.net/problem/1062
์ฝํ ๋ฌธ์ ๋ฅผ ๋ง์ด ํ์ด๋ณธ ํฐ๊ฐ ๋์ง ์๋ ์ฝ๋์ด๋ค. ๊ฐ์ฅ ๋จผ์ ์๊ฐ๋๋ ์์ด๋์ด๋ก ๋จ์ํ๊ฒ ์ฝ๋ฉ์ ํ๋ค.
๋ฐฑ์ค ์ฌ์ดํธ์ ์ ์ฑ ์ด์ง๋ง ์ ๋ต์ด ํ๋ ธ์ ๋ ์ด๋ค ํ ์คํธ ์ผ์ด์ค์์ ํ๋ ธ๋์ง ๋ณผ ์ ์๋๊ฒ ์์ฝ๋ค. ํ๋ฆฐ ๋ถ๋ถ์ ํ์ธํ๊ณ ๊ณ ์น๋ ๊ณผ์ ๋ ์ฐธ ๊ฐ์ ธ ๋ณด์ด๋๋ฐ.
1%์์ ํ๋ ค๋ฒ๋ ธ์ง๋ง ํด๋น ํ์ด์ง์ ๋์์๋ ํ ์คํธ์ผ์ด์ค๋ ๋ค ํต๊ณผํ๋ค.
๋ ๋จ์ด๊ฐ ๊ตฌ์ฑํ๋ ์ํ๋ฒณ๋ค์ ๋น๋์ ๋๋ก ์ ๋ ฌํ๊ณ k๊ฐ ๋งํผ ์๋ผ์ ๊ฐ๊ฐ์ ๋จ์ด๋ค์ ํฌํจ์ด ๋๋์ง ๊ฒ์ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๋ค. ์ด ์์ด๋์ด๋ฅผ ์ ๋ชป ๊ตฌํํ๊ฑด์ง ์๋๋ฉด ์ด ์์ด๋์ด๊ฐ ์บ์นํ์ง ๋ชปํ๋ ๋ฐ๋ก๊ฐ ์๋์ง ๊ถ๊ธํ๋ค.
์ฝ 1๋ถ ์ ๋ ๊ณ ๋ฏผํ ๋ฐ๋ก๋ฅผ ์ฐพ์๋ค ์ด ์์ด๋์ด๋ ํ์๋ก ์๊ณ ์์ด์ผ ํ๋ ๊ธ์์ธ a, c, i, n, t์ ์ฐ์ ์์๋ฅผ ๋ฎ์ถ ์ ์๋ค.
์ด๋ ๊ฒ ํ๋ฉด์๋ ์ด๋์ ๋ฐฑํธ๋ํน์ ํ๋ผ๋ ๊ฑฐ์ง? ๋ผ๋ ์๋ฌธ์ด ์๊ฒผ์๋ค.
https://oh2279.tistory.com/158
์ด ๋ถ์ ์ ๋ต์ ์ฐธ๊ณ ํ๊ณ ๋ฐ๋ผ์ ๊ตฌํํด๋ณด์๋ค.
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[leetcode/backtracking] 17. Letter Combinations of a Phone Number (0) | 2024.05.06 |
---|---|
[๋ฐฑ์ค ๊ตฌํ/๋ฌธ์์ด] 1148 ๋จ์ด ๋ง๋ค๊ธฐ (0) | 2024.05.05 |
[๋ฐฑ์ค ์ ๋ ฌ] ๊ฐ์์ค ๋ฐฐ์ (0) | 2024.04.22 |
[PCCP ๊ธฐ์ถ๋ฌธ์ ] 1๋ฒ / ๋ถ๋ ๊ฐ๊ธฐ (์๋ฐ์คํฌ๋ฆฝํธ ํ์ด) (0) | 2023.12.09 |
[์ฝ๋ํธ๋ฆฌ] ๊ฒน์ณ์ง์ง ์๋ ๋ ์ง์ฌ๊ฐํ ํ์ด (2) | 2023.11.07 |