- ์๊ณ ๋ฆฌ์ฆ
- ์ํฐ๋
- ํธ๋ฆฌ
- DFS
- ๋นํธ๋งต
- C++
- ์์ฝ๋
- go
- ์นด์นด์ค2021
- ์น๋ฆฐ์ด
- LCs
- ๋นํธ๋ง์คํน
- ํ๋ฆฌ์จ๋ณด๋ฉ
- BFS
- nestjs
- DP
- ์ด๋ถํ์
- ๋ค์ต์คํธ๋ผ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์ฌ๊ท
- ๋ฐฑ์ค
- ๊ฐ์ฅ๊ฐ๊น์ด๊ณตํต์กฐ์
- Python
- js
- ๋ฐฑ์๋ ํ๋ฆฌ์จ๋ณด๋ฉ
- Union-Find
- ์นด์นด์ค ์ฝํ
- ์ฌ๋ผ์ด๋ฉ ์๋์ฐ
- golang
- ๋์ ํ๋ก๊ทธ๋๋ฐ
- Today
- Total
Hello Ocean! ๐ผ
[์๊ณ ๋ฆฌ์ฆ ์คํฐ๋] programmers, N์ผ๋ก ํํ ๋ณธ๋ฌธ
[๋ฌธ์ ]
์๋์ ๊ฐ์ด 5์ ์ฌ์น์ฐ์ฐ๋ง์ผ๋ก 12๋ฅผ ํํํ ์ ์๋ค.
12 = 5 + 5 + (5 / 5) + (5 / 5)
12 = 55 / 5 + 5 / 5
12 = (55 + 5) / 5
5๋ฅผ ์ฌ์ฉํ ํ์๋ ๊ฐ๊ฐ 6,5,4 ์
๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ค ๊ฐ์ฅ ์์ ๊ฒฝ์ฐ๋ 4์
๋๋ค.
์ด์ฒ๋ผ ์ซ์ N๊ณผ number๊ฐ ์ฃผ์ด์ง ๋, N๊ณผ ์ฌ์น์ฐ์ฐ๋ง ์ฌ์ฉํด์ ํํ ํ ์ ์๋ ๋ฐฉ๋ฒ ์ค N ์ฌ์ฉํ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํ์ธ์.
- N์ 1 ์ด์ 9 ์ดํ์ ๋๋ค.
- number๋ 1 ์ด์ 32,000 ์ดํ์ ๋๋ค.
- ์์์๋ ๊ดํธ์ ์ฌ์น์ฐ์ฐ๋ง ๊ฐ๋ฅํ๋ฉฐ ๋๋๊ธฐ ์ฐ์ฐ์์ ๋๋จธ์ง๋ ๋ฌด์ํฉ๋๋ค.
- ์ต์๊ฐ์ด 8๋ณด๋ค ํฌ๋ฉด -1์ return ํฉ๋๋ค.
[ํ์ด]
์ฒซ ๋ฒ์งธ.
๋ฌธ์ ๊ฐ๋์๋ DP๊ฐ ๋ช ์๋์ด ์๊ธฐ ๋๋ฌธ์ DP๋ฅผ ์ด์ฉํด์ ํธ๋ ๋ฌธ์ ์์ ํ์คํ๋ค..!
์ด๋ป๊ฒ DP๋ฅผ ์ด์ฉํ ๊ฒ์ธ๊ฐ?
N=5์ผ ๋๋ฅผ ์๊ฐํด๋ณด์.
1. 5 ํ ๊ฐ -> 5
2. 5 ๋ ๊ฐ -> 55, 5+5, 5-5, 5*5, 5/5
๋ค์ฏ๋ฐฐ๋ก ๋์ด๋๋ ๊ฒ ์ฒ๋ผ ๋ณด์ด์ง๋ง,
๋ค์ 5๋ฅผ ๋ถ์ด๋ ๊ฒ๊ณผ, ๋๋จธ์ง ์ฐ์ฐ์ ์๋ค ์์์ ๋ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ ๋ฌ๋ผ์ง๊ฒ ๋๋ค.
3. 5 ์ธ ๊ฐ
->555, 555, 55+5, 55-5, 55*5, 55/5, 5/55
55+5, 5+55, (5+5)+5, (5+5)-5, (5+5)*5, (5+5)/5, 5/(5+5)
55-5, 5-55, (5-5)+5, (5-5)-5, (5-5)*5, (5-5)/5, 5/(5-5)
55*5, 5*55, (5*5)+5, (5*5)-5, (5*5)*5, (5*5)/5, 5/(5*5)
55/5, 5/55, (5/5)+5, (5/5)-5, (5/5)*5, (5/5)/5, 5/(5/5)
์ด๋ ๊ฒ ๋ค์ ๋จ๊ณ๋ก ๋์ด๊ฐ ๋ ์ฝ 7๋ฐฐ์ฉ ๋์ด๋๊ฒ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด ๊ฐ ๋จ๊ณ์์ ๋์จ ๊ฐ๋ค์ ์ด๋ค ํํ๋ก ์ ์ฅํ ๊ฒ์ธ๊ฐ?
1. ์๋ฅผ ๋ ๋ฉ์ด๋ฆฌ๋ก ๋ณด๊ด
2. ๊ฐ ๋ฉ์ด๋ฆฌ๊ฐ ์์ธ์ง, ๊ณ์ฐ์์ธ์ง ํ์
(ํ๋์ ์๋ผ๋ฉด, 5๋ฅผ ๋ถ์ฌ ์๋ฆฟ์๋ฅผ ์ถ๊ฐํ ์ ์๋ค. ์์์ด๋ผ๋ฉด ์ฌ์น์ฐ์ฐ๋ง ๊ฐ๋ฅํ๋ค)
๊ฐ ๋จ๊ณ๊ฐ ๋์ด๊ฐ ๋ ๋ง๋ค, ์ด์ ๋จ๊ณ์ ๊ฐ๋ค์ ๊ณ์ ๋จ๊ฒจ๋ ํ์๊ฐ ์๋ค.
๋งค ๋จ๊ณ๋ง๋ค ์ ์ฅ๊ณต๊ฐ ์ด๊ธฐํํ๊ธฐ.
vector์ ๊ฐ ๋จ๊ณ์ ์๋ค์ ์ ์ฅํ์.
vector ํ ์นธ์ ๊ตฌ์ฑ [num1, num2, flag1, flag2, result]
ex) 55+(5-5)
num1 = 55
num2 = 0
flag1 = 1
flag2 = 0
(flag๊ฐ 1์ด๋ฉด ์ซ์, 0์ด๋ฉด ๊ณ์ฐ์, -1์ด๋ฉด ์กด์ฌํ์ง ์๋๋ค๋ ์๋ฏธ)
(55์ ๊ฒฝ์ฐ, num2๊ฐ ์กด์ฌํ์ง ์๊ธฐ ๋๋ฌธ์, flag2=-1๋ก ํด๋์ด num2๋ฅผ ์ด์ฉํ์ง ์๊ฒ ํ๋ค)
result = 55
vector์์ result๊ฐ number๊ณผ ๊ฐ์ ์นธ์ด ์๊ธฐ๋ฉด ์ข ๋ฃ(return ๋ฐ๋ณตํ์)
or
๋ฐ๋ณต ํ์๊ฐ 8์ ๋์ด๊ฐ๋ฉด ์ข ๋ฃ(return -1)
'Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[์๊ณ ๋ฆฌ์ฆ ์คํฐ๋] ๋ฐฑ์ค #1417 ๊ตญํ์์ (0) | 2020.04.11 |
---|---|
[C++] ๋ฐฐ์ด ๋ฉ๋ชจ๋ฆฌ ์ด๊ธฐํ (0) | 2020.04.11 |
[์๊ณ ๋ฆฌ์ฆ ์คํฐ๋] ๋ฐฑ์ค #2531 ํ์ ์ด๋ฐฅ (0) | 2020.04.04 |
[C++] C++ ์ฝ๋ฉ ์์ํ๊ธฐ (visual studio) (0) | 2020.04.02 |
[์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํด๊ฒฐ์ ๋ต] 8์ฅ ๋์ ๊ณํ๋ฒ_1 (0) | 2020.04.02 |