๐ง ๋ฐฑ์ค 14425
๐ค Algorithm ๊ณผ์
1. s์ string ๋ฆฌ์คํธ์ ์ ๋ ฅ์ ํด๋นํ๋ ๊ฐ๊ฐ์ ๋ฌธ์์ด์ ๋ฃ์
2. for๋ฌธ์ผ๋ก string์ ๋๋ฉด์ string์ ์๋ ๋ฌธ์์ด๊ณผ ์ผ์นํ๋ ๋จ์ด๊ฐ s์ ์๋ค๋ฉด?
3. cnt๊ฐ 1 ์ฆ๊ฐ (= ์ผ์นํ๋ ๋ฌธ์์ด์ด ์๋ค๋ ๊ฒ)
4. ์ต์ข ์ ์ผ๋ก cnt๊ฐ ์ถ๋ ฅ
๐คซ solution_14425N, M = map(int, input().split()) s = [input() for _ in range(N)] string = [input() for _ in range(M)] cnt = 0 for i in string: if i in s: cnt += 1 print(cnt)
๐ง ๋ฐฑ์ค 10815, 10816(์ด์งํ์)
๐ค Algorithm ๊ณผ์
1. ์ค๋ณต๋์ด ์ ๋ ฅ๋์ด๋ ๋น๊ต๋ง ํ๋ฉด ๋๊ธฐ์ n์ด๋ผ๋ set๊ณผ m์ด๋ผ๋ ๋ฆฌ์คํธ๋ฅผ ์์ฑ
2. ์ดํ m์์ ์์๋ฅผ ๋๋ฉด์ ๋ง์ฝ m์ ์์๊ฐ n์ ์๋ค๋ฉด 1์ ์ถ๋ ฅ, ์๋๋ฉด 0์ ์ถ๋ ฅํด์ฃผ๋ฉด ๋๋ค.
3. ๋ฌผ๋ก ์์ ๊ฒฝ์ฐ m ๋ฆฌ์คํธ์ ์์์ ์์๋๋ก ์ ๊ทผํ๊ธฐ ๋๋ฌธ์ ์์๋ฅผ ์๊ด์ฐ์ง ์์๋ ๋๋ค.
๐คซ solution_10815# cf. n์ list๋ก ํ๋๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ์. # ์ฆ, ์ค๋ณต๋ ๊ฒฐ๊ณผ๊ฐ ๋ค์ด๊ฐ๊ฒ ๋์ด set๋ณด๋ค ์๊ฐ๋ณต์ก๋๊ฐ ๋ ๊ฑธ๋ฆฌ๊ฒ ๋๋ ๊ฒ. N, n = input(), set(map(int, input().split())) M, m = input(), list(map(int, input().split())) m_set = list(set(m)) for i in m: print(1, end = " ") if i in n else print(0, end = " ") # ๋ฆฌ์คํธ๋ฅผ ์ค์ ๋ก ๋ถํ ํด์ ์๋ก ์ ์ฅํ๋ ๊ฒ์ O(N)์ผ๋ก ๋งค์ฐ ๋ฌด๊ฑฐ์ด ์ฐ์ฐ
๐คซ ํด๊ฒฐ์ ์ค๋ง๋ฆฌ(10816): ์ด์งํ์๐ค count ํจ์๋ฅผ ๋ฌดํฑ๋๊ณ ์ฐ๋ฉด ์๋๋ค??
countํจ์๋ ์๊ฐ๋ณต์ก๋๊ฐ O(n)์๊ฐ์ด ๊ฑธ๋ ค์ for๋ฌธ๊ณผ ๊ฐ์ด ์ฐ๋ฉด ์๊ฐ์ด๊ณผ๊ฐ ๋ฐ์ํ ํ๋ฅ ์ด ๋๋ค.
๐ค Algorithm ๊ณผ์
1. cnt = {}๋ก ๋์ ๋๋ฆฌ๋ฅผ ์์ฑํ๋ค.
2. cnt๋ผ๋ ๋น์ด์๋ ๋์ ๋๋ฆฌ์ i ์ฆ, n์ ์์๊ฐ ์๋ค๋ฉด cnt[i] = 1๋ก ์์์ ๊ฐ์๋ฅผ ๋งตํ
3. ๋ง์ฝ i in cnt๋ผ๋ฉด ์์์ ๊ฐ์๋ฅผ ์ฆ๊ฐ์์ผ์ค์ผ ํ๋ฏ๋ก cnt[i] += 1์ ํตํด value(์์์ ๊ฐ์)๋ฅผ ์ฆ๊ฐ
4. ์ดํ m ์์ ์ด๋ค ์์ i์ ๋ํด cnt์ i๊ฐ ์์ผ๋ฉด value๋ฅผ ์ถ๋ ฅ, ์์ผ๋ฉด 0์ ์ถ๋ ฅํ๋ค.๐คซ solution_10816(์๊ฐ์ด๊ณผ โต countํจ์์ ์ฌ์ฉ)
N, n = int(input()), list(map(int, input().split())) M, m = int(input()), list(map(int, input().split())) for i in m: print(n.count(i), end = " ") if i in n else print(0, end = " ")
๐คซ solution_10816N, n = int(input()), list(map(int, input().split())) M, m = int(input()), list(map(int, input().split())) cnt = {} for i in n: if i in cnt: cnt[i] += 1 else: cnt[i] = 1 # ๋์ ๋๋ฆฌ ์์ฑ # print(cnt) => {6: 1, 3: 2, 2: 1, 10: 3, -10: 2, 7: 1} for i in m: if i in cnt: print(cnt[i], end = " ") else: print(0, end = " ")
๐ง ๋ฐฑ์ค 11478
๐ค์ฌ์ค ๋ฌธ์ ์์ ๋งํ๋ ๋ฐ๋ ๋ฑ์๋ฅผ ์ถ๋ ฅํ๋ ๊ฒ๊ณผ ๋์ผ!
๐ค Algorithm ๊ณผ์
1. s์ ๋ฐ๋ก ๋ฌธ์์ด์ ์ ๋ ฅ๋ฐ๋๋ค.
์ด๋, s์ "abcde"๋ผ๋ ๋ฌธ์์ด์ด ๋ค์ด์์๋, s[1:3]์ผ๋ก bc์ ์ ๊ทผํ ์ ์๋ค.]
2. set_s = set()๋ฅผ ํตํ set์ ์์ฑํด์ฃผ๊ณ
3. ์ด์ค for๋ฌธ์์ ์์ ์ธ๋ฑ์ค ์ฌ๋ผ์ด์ฑ์๋ฆฌ๋ฅผ ์ด์ฉํด ๋ถ๋ถ๋ฌธ์์ด์ ๊ตฌํ๋ค.
4. ์ด๋, set_s์ ๋ฃ์ด์ฃผ๋๋ฐ, ์ค๋ณต๋ ๋ฌธ์์ด์ ์ถ๊ฐ๋์ง ์๋๋ค.
๐คซ solution_11478s = input() # print(s[1:3]) ba์ถ๋ ฅ set_s = set() # ์ด์ค for๋ฌธ์ ๋๋ฉด์ ๋ถ๋ถ ๋ฌธ์์ด์ ๊ตฌํ๊ณ set_s์์ถ๊ฐํ๋ค. # ์ด๋, set_s๋ ์งํฉ์ด๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋ ๋ฌธ์์ด์ ์ถ๊ฐ๋์ง ์๋๋ค. for i in range(len(s)): for j in range(i, len(s)): set_s.add(s[i:j+1]) print(len(set_s))