Tags
- stack
- ๋ฐฑํธ๋ํน
- DP
- ์ ์๋ก
- ์ ๋ ฌ
- ๊ทธ๋ํ ํ์
- ๋๋น ์ฐ์ ํ์
- Brute Force Algorithm
- ๊ต์ฌ
- ๊น์ด ์ฐ์ ํ์
- dfs
- ์ํ
- queue
- sort
- Python
- Dynamic Programming
- greedy
- Study
- BFS
- ๊ทธ๋ํ ์ด๋ก
- ์๋ฎฌ๋ ์ด์
- Java
- SpringBoot
- BOJ
- ์๋ฃ๊ตฌ์กฐ
- CodingTest
- PGM
- ๋ฌธ์์ด
- ๊ตฌํ
- LV2
Archives
๊ธฐ๋ก๋ฐฉ
BOJ_9656 : ๋ ๊ฒ์ 2 ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- n๊ฐ์ ๋์ด ์์๋, ab ๋ ์ฌ๋์ด ํด๋ง๋ค 1๊ฐ ํน์ 3๊ฐ๋ฅผ ๊ฐ์ ธ๊ฐ ์ ์๊ณ ๋ง์ง๋ง ๋์ ๊ฐ์ ธ๊ฐ๋ฉด ํจ๋ฐฐํ๋ค.
- ๋ ์ฌ๋์ด ์๋ฒฝํ๊ฒ ๊ฒ์์ ํ๋ค๊ณ ํ์๋ ์ํฉ์ ๊ทธ๋ ค๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- n=1 : a >> b์น๋ฆฌ
- n=2 : a b >> a์น๋ฆฌ
- n=3 : a b a >> b์น๋ฆฌ
- n=4 : a a a b >> a์น๋ฆฌ
- ํ์๋ b์น๋ฆฌ, ์ง์๋ a์ ์น๋ฆฌ๋ผ๋ ๊ฒ์ ์ ์ ์๋ค.
- ๋ ์ฌ๋์ด ์๋ฒฝํ๊ฒ ๊ฒ์์ ํ๋ค๊ณ ํ์๋ ์ํฉ์ ๊ทธ๋ ค๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ๋ค.
- n์ด ์ต๋ 1000์ด๊ณ ์๊ฐ ๋ณต์ก๋๋ O(n)์ด๋ฏ๋ก, ์ ํ์๊ฐ 1์ด๋ ๋๋ํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
if (n % 2 != 0)
System.out.println("CY");
else
System.out.println("SK");
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- n์ด ํ์๋ฉด "CY", ์ง์๋ฉด "SK"๋ฅผ ์ถ๋ ฅํ๋ค.
๐ธ end ๐ธ
- ๊ฐ๋จํ ๋ฌธ์ ์์ง๋ง, ๋ฌธ์ ๋ฅผ ์๋ชป ์ดํดํ๊ณ ๋ฒ ์คํจ๋ผ๋น์ค31 ๊ฒ์๊ท์น์ผ๋ก ์ ์ฉํด์ ํค๋งธ๋ ๋ฌธ์ ์ด๋ค.
- ํ๊ณ ๋ณด๋ ๋๋ฌด ์ฌ์ด๋ฐ ๋๋ฌด์ด๋ ต๊ฒ ์ ๊ทผํ์๋ค...
- ๋ค ํ๊ณ ๋ณด๋ ํ๊ทธ์ DP๊ฐ ์๋๊ฑธ ์์๋ค. (ํ์ด ํฌ์คํ
์ ์ฐธ๊ณ ํ๋ค)
- DP๋ก ์ด๋ป๊ฒ ํ ์ ์์๊น ์๊ฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ํ์์ ๊ตฌํ ์ ์๋ค.
- dp[n] = Math.min(dp[n-1], dp[n-3]) + 1;
- ์๋ฒฝํ ๊ฒ์์ ํ๋ค๊ณ ํ์ผ๋ฏ๋ก, ๋ฝ๋ ํ์๋ฅผ ์ต์๋ก ๋ง๋๋ ๊ฒฝ์ฐ๋ฅผ ์ฐพ์ผ๋ฉด ๋๋ค.
- ๋ฝ๋ ํ์๊ฐ ํ์๋ a์น, ์ง์๋ฉด b์ ์น๋ฆฌ์ด๋ค.
- DP๋ก ์ด๋ป๊ฒ ํ ์ ์์๊น ์๊ฐํด๋ณด๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ํ์์ ๊ตฌํ ์ ์๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
BOJ_1015 : ์์ด ์ ๋ ฌ (0) | 2022.10.19 |
---|---|
BOJ_1402 : ์๋ฌด๋๋์ด๋ฌธ์ ๋A๋ฒ๋์ด๋์ธ๊ฒ๊ฐ๋ค (0) | 2022.10.19 |
BOJ_17093 : Total Circle (0) | 2022.10.19 |
BOJ_25205 : ๊ฒฝ๋ก๋นํํฌ 2077 (0) | 2022.10.19 |
BOJ_2217 : ๋กํ (0) | 2022.10.11 |