Algo Rhythm๐บ๐
-
[Algo Rhythm๐บ๐]BOJ 14888 - ์ฐ์ฐ์ ๋ผ์๋ฃ๊ธฐAlgo Rhythm๐บ๐/BOJ 2021. 6. 22. 16:24
๋ฌธ์ ๋ถ์ $N (2 \le N \le 11)$๊ฐ์ ์๋ก ์ด๋ฃจ์ด์ง ์์ด $A_1, A_2, A_3, ..., A_n$์ ์์๋ ๋ฐ๊ฟ ์ ์์ง๋ง ์ซ์ ์ฌ์ด ๋ค์ด๊ฐ๋ ์ฐ์ฐ์๋ค์ ์์๋ ๋ฐ๊ฟ ์ ์๋ค. ๋ฐ๋ผ์ ์ด ๋ฌธ์ ๋ ์ฐ์ฐ์๋ค์ ์์์ ๋ํ '๋ชจ๋ ์กฐํฉ์ ๊ตฌํ ๋ค' ๊ณ์ฐํ ๊ฒฐ๊ณผ๋ค ์ค ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๊ตฌํ๋ ๋ฌธ์ ๋ก ์ดํดํ ์ ์๋ค. ๋ฌธ์ ํ์ด 1. ์ต์ ํ ๐ โ๏ธ ์ฐ์ฐ์๋ค์ ์์์ ๋ํ ๋ชจ๋ ์กฐํฉ์ ๊ตฌํ๊ธฐ ์ํด backtracking์ ์ฌ์ฉํ๋ค. ์ด๋ ๋ฐฉ๋ฌธํด์ผ ํ๋ vertex๋ค์ ์ฐ์ฐ์๋ค์ธ๋ฐ ์ฐ์ฐ์๋ค์ ์ข ๋ฅ๋ฅผ ๊ตฌ๋ถํ๊ธฐ ์ํด enum์ ์ ์ํ๋ค. ๋ํ ์ฐ์ฐ์๋ค์ ๊ฐ์๋ ์ ๋ ฅ์ ๋ฐ๋ผ ๊ฐ๋ณ์ ์ด๊ธฐ ๋๋ฌธ์ ์ ์ํ enum์ ์ ์ฅํ๋ vector๋ฅผ ์ ์ํ๋ค. backtracking์ ์ฌ์ฉํ ์ ํ์์ ์๋์ ๊ฐ๋ค. ์ด..
-
[Algo Rhythm๐บ๐]BOJ 20170 - Commemorative DiceAlgo Rhythm๐บ๐/BOJ 2021. 6. 21. 03:26
๋ฌธ์ ๋ถ์ ์ฃผ์ฌ์ ๊ฒ์์ ํ๋ ์ฒซ๋ฒ์งธ, ๋๋ฒ์งธ ํ๋ ์ด์ด๋ฅผ ๊ฐ๊ฐ A, B๋ผ๊ณ ํ๊ณ A์ B์ ์ฃผ์ฌ์ ์ค ์์์ ํ ๋ฉด์ ์ ํ ์ซ์๋ฅผ ๊ฐ๊ฐ $\alpha, \beta$๋ผ๊ณ ํ์. ์ด๋ ์ฃผ์ฌ์๋ 6๋ฉด์ด๊ธฐ ๋๋ฌธ์ A์ B๊ฐ ์ฃผ์ฌ์๋ฅผ ๋์ ธ์ ๋์ฌ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ $6 \times 6 = 36$์ด๋ค. ๊ทธ๋ฆฌ๊ณ A๊ฐ B๋ฅผ ์ด๊ธฐ๋ ๊ฒฝ์ฐ์ ์์ธ $N_{win}$์ $\alpha \gt \beta$๋ฅผ ๋ง์กฑํ๋ ๋ชจ๋ $\alpha$์ ์์ ๊ฐ๋ค. ๋ฐ๋ผ์, A๊ฐ B๋ฅผ ์ด๊ธธ ํ๋ฅ ์ $N_{win} \over 36$์ด๋ค. ์ด๋, ๋ฌธ์ ์์ ์๊ตฌํ๋ ๊ฒ์ '๋์ด์ ๋๋ ์ ์๋' ๋ถ์ ํํ๋ก ์ถ๋ ฅํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋ถ์์ ๋ถ๋ชจ๋ฅผ ์ต๋ ๊ณต์ฝ์๋ก ๋๋ ์ ์ถ๋ ฅํด์ผ ํ๋ค. ๋ฌธ์ ํ์ด A์ B์ ์ฃผ์ฌ์ ์ ๋ณด๋ฅผ ๊ฐ๊ฐ ๋ฐฐ์ด์ ์ ์ฅํ ๋ค, $..
-
[Algo Rhythm๐บ๐]BOJ 14889 - ์คํํธ์ ๋งํฌAlgo Rhythm๐บ๐/BOJ 2021. 6. 18. 23:44
๋ฌธ์ ๋ถ์ ์คํํธํ์ $T_{start}$, ๋งํฌํ์ $T_{link}$ ๊ทธ๋ฆฌ๊ณ ๋ ํ์ ๋ฅ๋ ฅ์น๋ฅผ ๊ฐ๊ฐ $S_{start}, S_{link}$๋ผ๊ณ ํ์. ์ด๋ ๊ฐ ํ์ ์ํ๋ ์ฌ๋๋ค์ ์๋ ๋ ํ ๋ชจ๋ ์ถ๊ตฌ๋ฅผ ํ๋ $N\ (4 \le N \le 20)$๋ช ์ ์ ๋ฐ์ธ $N / 2$ ๋ช ์ด๋ค. ๋ฌธ์ ์์ ์๊ตฌํ๋ $min(|S_{start} - S_{link}|)$๋ฅผ ๊ตฌํ๊ธฐ ์ํ ๊ฐ์ฅ ์ง๊ด์ ์ธ ๋ฐฉ๋ฒ์ $(T_{start}, T_{link})$์ ๋ชจ๋ ์กฐํฉ์ ๊ตฌํ ๋ค ๊ฐ ์กฐํฉ์ $|S_{start} - S_{link}|$์ ๊ตฌํ๊ณ ๊ทธ ์ค ์ต์๊ฐ์ ์ฐพ๋ ๊ฒ์ด๋ค. ๋ชจ๋ ์กฐํฉ์ ๊ตฌํด์ผ ํ๋ ๋ฌธ์ ๋ค์ ์ฃผ๋ก 'backtracking'์ ์ฌ์ฉํ๋ค. ์ด ๋ฌธ์ ๋ ๋ง์ฐฌ๊ฐ์ง๋ก backtracking์ ์ฌ์ฉํ์ฌ ํด๊ฒฐํ๋ค. ๋ฌธ์ ํ์ด ..
-
[Algo Rhythm๐บ๐]BOJ 1620 - ์ ์ ํ๋ด2Algo Rhythm๐บ๐/BOJ 2021. 3. 12. 15:05
๋ฌธ์ ๋ถ์ ๋ฌธ์ ๋ฅผ ๋ถ์ํ๋ ํจ๊ณผ์ ์ธ ๋ฐฉ๋ฒ๋ค ์ค ํ๋๋ ๊ทธ๋ฆผ์ผ๋ก ํํํด๋ณด๋ ๊ฒ์ด๋ค. ์ด ๋ฌธ์ ์์ N = 0, 2, 4, 6 ์ผ๋ ์๋ฒฝํ๊ฒ ์ ์ํ๋ ๊ฒฝ์ฐ๋ค๊ณผ ๊ทธ ์๋ฅผ ๊ทธ๋ฆผ์ผ๋ก ํํํ๋ฉด ์๋์ ๊ฐ๋ค. (์ด๋ ๊ฐ ๊ตญ๊ฐ์ ๋ํ๋ ๋ ธ๋๋ก ํํํ๋ค.) ๊ทธ๋ฆผ์์ ๊ฒ์์ ๋ ธ๋์ ํฐ์ ๋ ธ๋๊ฐ ์ฐ๊ฒฐ๋ ์ ๋ถ์ ๊ธฐ์ค์ผ๋ก ์ผ์ชฝ ์์ญ์ $l$, ์ค๋ฅธ์ชฝ ์์ญ์ $r$๋ผ๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ $a$๊ฐ์ ๋ ธ๋๋ค์ด ์๋ฒฝํ๊ฒ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ฅผ $f(a)$๋ผ๊ณ ํ์. ๊ทธ๋ ๋ค๋ฉด N =0, 2, 4, 6์ผ๋ ์๋ฒฝํ๊ฒ ์ ์ํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ์๋์ ๊ฐ์ ๊ท์น์ด ์์์ ์ ์ ์๋ค. ์ด ๊ท์น์ ์ ํ์์ผ๋ก ํํํ๋ฉด ๋ค์๊ณผ ๊ฐ๋ค. $f(N)= \begin{cases} 1, & if\ n = 0\\ \sum_{i=0}^{N-2} f(i) \t..
-
[Algo Rhythm๐บ๐]BOJ 14501 - ํด์ฌAlgo Rhythm๐บ๐/BOJ 2021. 3. 11. 00:41
๋ฌธ์ ๋ถ์ ๋ฐฑ์ค์ด๋ $i (1 \le i \le N)$๋ฒ์งธ ๋ ์ ์ผ์ ํ๋๋ ๋ง๋๋์ ๋ฐ๋ผ ์ป์ ์ ์๋ ์ด์ต์ด ๋ค๋ฅด๋ค. ๋จ์ํ ์๊ฐํ๋ฉด i๋ฒ์งธ ๋ ์ ์ผ์ ํ๋ ๊ฒฝ์ฐ์ ์ ํ๋ ๊ฒฝ์ฐ๋ก ๋๋ ์ ๋ชจ๋ ๊ฒฝ์ฐ๋ฅผ ์ดํ ๋ค ๊ทธ ์ค ์ต๋์ ์ด์ต์ ๊ตฌํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. ์ฌ์ค ๊ทธ๋๋ ๋๋ค. ํ์ง๋ง ์กฐ๊ธ ๋ ์๊ฐํด๋ณด๋ฉด ๋ณด๋ค ๋ ํจ์จ์ ์ธ ๋ฐฉ๋ฒ์ด ์๋ค๋ ๊ฒ์ ์ ์ ์๋ค. ์์ ๋งํ๋ฏ์ด ๋ฐฑ์ค์ด๋ i๋ฒ์งธ ๋ ์ ์ผ์ ํ๋๋ ๋ง๋๋์ ๋ฐ๋ผ ์ป์ ์ ์๋ ์ด์ต์ด ๋ค๋ฅด๋ค. ์์ธํ ๋งํ๋ฉด ๋ง์ฝ i๋ฒ์งธ ๋ ์ ์ผ์ ํ๋ค๋ฉด $i + T[i]$๋ฒ์งธ ๋ ์ ์ผ๋ถํฐ ํ๋๋ ๋ง๋๋๋ฅผ ์ ํํ ์ ์๊ณ ๋ง์ฝ i๋ฒ์งธ ๋ ์ ์ผ์ ํ์ง ์๋๋ค๋ฉด $i + 1$๋ฒ์งธ ๋ ์ ์ผ๋ถํฐ ํ๋๋ ๋ง๋๋๋ฅผ ์ ํํ ์ ์๋ค. ์ฆ, ๋ฐฑ์ค์ด๊ฐ i๋ฒ์งธ ๋ ์ ์ผ์ ํ๋๋ ๋ง๋๋๋ฅผ ๊ฒฐ์ ..
-
[Algo Rhythm๐บ๐]BOJ 13458 - ์ํ๊ฐ๋Algo Rhythm๐บ๐/BOJ 2021. 3. 9. 16:53
๋ฌธ์ ๋ถ์ ์ํ์ฅ์ ๊ฐ์๋ฅผ N(1 ≤ N ≤ 1,000,000), i๋ฒ์งธ ์ํ์ฅ์ ์๋ ์์์์ ์๋ฅผ Ai(1 ≤ Ai ≤ 1,000,000) , ์ด๊ฐ๋ ๊ด๊ณผ ๋ถ๊ฐ๋ ๊ด์ด ํ ์ํ์ฅ์์ ๊ฐ์ํ ์ ์๋ ์์์์ ์๋ฅผ ๊ฐ๊ฐ B, C(1 ≤ B, C ≤ 1,000,000)๋ผ๊ณ ํ์. ๊ทธ๋ฆฌ๊ณ i๋ฒ์งธ ์ํ์ฅ์ ๋ค์ด๊ฐ์ผ ํ๋ ์ด๊ฐ๋ ๊ด๊ณผ ๋ถ๊ฐ๋ ๊ด์ ์๋ฅผ ๊ฐ๊ฐ $n\_main_i$, $n\_sub_i$๋ผ๊ณ ํ์. ์ด๊ฐ๋ ๊ด์ ๊ฐ ์ํ์ฅ์ ๋ฌด์กฐ๊ฑด ํ ๋ช ๋ค์ด๊ฐ์ผ ํ๊ณ ๋ถ๊ฐ๋ ๊ด์ ์๊ฑฐ๋ ์ฌ๋ฌ ๋ช ์์ด๋ ๋๋ค. ๋ฐ๋ผ์ i๋ฒ์งธ ์ํ์ฅ์์ ํ์ํ ๊ฐ๋ ๊ด ์์ ์ต์๊ฐ์ ์๋ ๋ถ๋ฑ์์ ๋ง์กฑํ๋ ๊ฐ์ฅ ์์ $n\_sub_i$๋ฅผ ๊ตฌํ๋ ๊ฒ๊ณผ ๊ฐ๋ค. $B\ +\ C \times n\_sub_i\ \ge A_i$ ์ด๋ฅผ ํตํด ์ฐ๋ฆฌ๊ฐ ์ต์ข ์ ์ผ๋ก..
-
[Algo Rhythm๐บ๐] LeetCode 720. Longest Word in DictionaryAlgo Rhythm๐บ๐/LeetCode 2020. 9. 4. 01:05
๐ Problem description Given a list of strings words representing an English Dictionary, find the longest word in words that can be built one character at a time by other words in words. If there is more than one possible answer, return the longest word with the smallest lexicographical order. If there is no answer, return the empty string. Example 1: Input: words = ["w","wo","wor","worl", "world..
-
[Algo Rhythm๐บ๐] LeetCode 208. Implement Trie (Prefix Tree)Algo Rhythm๐บ๐/LeetCode 2020. 9. 3. 16:04
๐ Problem description Implement a trie with insert, search, and startsWith methods. Example: Trie trie = new Trie(); trie.insert("apple"); trie.search("apple"); // returns true trie.search("app"); // returns false trie.startsWith("app"); // returns true trie.insert("app"); trie.search("app"); // returns true Note: You may assume that all inputs are consist of lowercase letters a-z. All inputs ar..