์ฌ๊ทํธ์ถ(4)
-
[BOJ] #7490 - 0 ๋ง๋ค๊ธฐ
7490๋ฒ: 0 ๋ง๋ค๊ธฐ ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๋ํด ASCII ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ 0์ด ๋๋ ๋ชจ๋ ์์์ ์ถ๋ ฅํ๋ค. ๊ฐ ํ ์คํธ ์ผ์ด์ค์ ๊ฒฐ๊ณผ๋ ํ ์ค์ ๋์ ๊ตฌ๋ถํ๋ค. www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ฌ๊ท ํธ์ถ, ์์ ํ์ ** ํ์ด ์์ฐ์ N์ ๋ฒ์(3
2021.06.15 -
[BOJ] #1074 - Z
1074๋ฒ: Z ํ์๋ ํฌ๊ธฐ๊ฐ 2N × 2N์ธ 2์ฐจ์ ๋ฐฐ์ด์ Z๋ชจ์์ผ๋ก ํ์ํ๋ ค๊ณ ํ๋ค. ์๋ฅผ ๋ค์ด, 2×2๋ฐฐ์ด์ ์ผ์ชฝ ์์นธ, ์ค๋ฅธ์ชฝ ์์นธ, ์ผ์ชฝ ์๋์นธ, ์ค๋ฅธ์ชฝ ์๋์นธ ์์๋๋ก ๋ฐฉ๋ฌธํ๋ฉด Z๋ชจ์์ด๋ค. ๋ง์ฝ, N > 1์ด ๋ผ์ www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ฌ๊ท ํจ์, ๋ถํ ์ ๋ณต ** ํ์ด Z ๋ชจ์์ ๊ตฌ์ฑํ๋ 4๊ฐ์ง ๋ฐฉํฅ์ ๋ํ์ฌ ์ฐจ๋ก๋๋ก ์ฌ๊ท์ ์ผ๋ก ํธ์ถ def sol(n, r, c): global result if n == 2: if r == R and c == C: print(result) return result += 1 if r == R and c + 1 == C: print(result) return result += 1 if r + 1 == R and c == C: print(re..
2021.06.15 -
[BOJ] #2747 - ํผ๋ณด๋์น ์
2747๋ฒ: ํผ๋ณด๋์น ์ ํผ๋ณด๋์น ์๋ 0๊ณผ 1๋ก ์์ํ๋ค. 0๋ฒ์งธ ํผ๋ณด๋์น ์๋ 0์ด๊ณ , 1๋ฒ์งธ ํผ๋ณด๋์น ์๋ 1์ด๋ค. ๊ทธ ๋ค์ 2๋ฒ์งธ ๋ถํฐ๋ ๋ฐ๋ก ์ ๋ ํผ๋ณด๋์น ์์ ํฉ์ด ๋๋ค. ์ด๋ฅผ ์์ผ๋ก ์จ๋ณด๋ฉด Fn = Fn-1 + Fn-2 (n ≥ 2)๊ฐ www.acmicpc.net ** ๋ฌธ์ ์ ํ ์ฌ๊ท ํจ์ ** ํ์ด ํผ๋ณด๋์น ์์ด์ ์ ํ์ ์ฌ๊ท ํจ์๋ฅผ ์ด์ฉํด ๋ฌธ์ ๋ฅผ ํ ์ ์๋์ง ๊ฒํ N์ ์ต๋ 45 ์ฌ๊ท์ ๊ตฌํ์ ํ๊ณ: ๊ณผ๋ํ ์ค๋ณต ํธ์ถ -> O(2^n) n = int(input()) a, b = 0, 1 while n > 0: a, b = b, a + b n -= 1 print(a) f(n) 0 1 1 2 3 a b a + b ... ... a b ... ... a b ... a b
2021.06.15 -
[์๊ณ ๋ฆฌ์ฆ] #2 ์ฌ๊ท ์ฉ๋ฒ
** ์ฌ๊ท ์ฉ๋ฒ(Recursive Call, ์ฌ๊ท ํธ์ถ) ํจ์ ์์์ ๋์ผํ ํจ์๋ฅผ ํธ์ถํ๋ ํํ ** ์์ ํฉํ ๋ฆฌ์ผ์ ๊ตฌํ๋ ์๊ณ ๋ฆฌ์ฆ ๋ถ์: ๊ท์น์ด ๋ณด์ n! = n * (n-1)! def factorial(num): if num > 1: return num * factorial(num - 1) else: return num ** ์์ : ์๊ฐ ๋ณต์ก๋์ ๊ณต๊ฐ ๋ณต์ก๋ factorial(n) ์ n - 1 ๋ฒ์ factorial() ํจ์๋ฅผ ํธ์ถํด์, ๊ณฑ์ ์ ํจ ์ผ์ข ์ n-1๋ฒ ๋ฐ๋ณต๋ฌธ์ ํธ์ถํ ๊ฒ๊ณผ ๋์ผ factorial() ํจ์๋ฅผ ํธ์ถํ ๋๋ง๋ค, ์ง์ญ๋ณ์ n ์ด ์์ฑ๋จ ์๊ฐ ๋ณต์ก๋/๊ณต๊ฐ ๋ณต์ก๋๋ O(n-1) ์ด๋ฏ๋ก ๊ฒฐ๊ตญ, ๋ ๋ค O(n) ** ์ฌ๊ท ํธ์ถ์ ์ผ๋ฐ์ ์ธ ํํ # ์ผ๋ฐ์ ์ธ ํํ1 def functi..
2021.06.02