[c++] Longest Increasing Sequence (๋ฌธ์ œ ID : LIS, ๋‚œ์ด๋„ : ํ•˜) :: ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 8. 16:35

https://www.algospot.com/judge/problem/read/LIS ๋ฌธ์ œ ์–ด๋–ค ์ •์ˆ˜ ์ˆ˜์—ด์—์„œ 0๊ฐœ ์ด์ƒ์˜ ์ˆซ์ž๋ฅผ ์ง€์šฐ๋ฉด ์ด ์ˆ˜์—ด์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด (subsequence) ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด 10 7 4 9 ์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์—๋Š” 7 4 9, 10 4, 10 9 ๋“ฑ์ด ์žˆ๋‹ค. ๋‹จ, 10 4 7 ์€ ์›๋ž˜ ์ˆ˜์—ด์˜ ์ˆœ์„œ์™€ ๋‹ค๋ฅด๋ฏ€๋กœ 10 7 4 9 ์˜ ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ์•„๋‹ˆ๋‹ค. ์–ด๋–ค ๋ถ€๋ถ„ ์ˆ˜์—ด์ด ์ˆœ์ฆ๊ฐ€ํ•  ๋•Œ ์ด ๋ถ€๋ถ„ ์ˆ˜์—ด์„ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด (increasing subsequence) ๋ผ๊ณ  ํ•œ๋‹ค. ์ฃผ์–ด์ง„ ์ˆ˜์—ด์˜ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด ์ค‘ ๊ฐ€์žฅ ๊ธด ๊ฒƒ์˜ ๊ธธ์ด๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜๋ผ. ์–ด๋–ค ์ˆ˜์—ด์˜ ๊ฐ ์ˆ˜๊ฐ€ ์ด์ „์˜ ์ˆ˜๋ณด๋‹ค ํด ๋•Œ, ์ด ์ˆ˜์—ด์„ ์ˆœ์ฆ๊ฐ€ ํ•œ๋‹ค๊ณ  ํ•œ๋‹ค. ์ž…๋ ฅ ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜ C..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ์‚ผ๊ฐํ˜• ์œ„์˜ ์ตœ๋Œ€ ๊ฒฝ๋กœ (๋ฌธ์ œ ID: TRIANGLEPATH, ๋‚œ์ด๋„ : ํ•˜)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 7. 13:12

https://www.algospot.com/judge/problem/read/TRIANGLEPATH ๋ฌธ์ œ 6 1 2 3 7 4 9 4 1 7 2 7 5 9 4 ์œ„ ํ˜•ํƒœ์™€ ๊ฐ™์ด ์‚ผ๊ฐํ˜• ๋ชจ์–‘์œผ๋กœ ๋ฐฐ์น˜๋œ ์ž์—ฐ์ˆ˜๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋งจ ์œ„์˜ ์ˆซ์ž์—์„œ ์‹œ์ž‘ํ•ด, ํ•œ ๋ฒˆ์— ํ•œ ์นธ์”ฉ ์•„๋ž˜๋กœ ๋‚ด๋ ค๊ฐ€ ๋งจ ์•„๋ž˜ ์ค„๋กœ ๋‚ด๋ ค๊ฐ€๋Š” ๊ฒฝ๋กœ๋ฅผ ๋งŒ๋“ค๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ๊ฒฝ๋กœ๋Š” ์•„๋ž˜ ์ค„๋กœ ๋‚ด๋ ค๊ฐˆ ๋•Œ๋งˆ๋‹ค ๋ฐ”๋กœ ์•„๋ž˜ ์ˆซ์ž, ํ˜น์€ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์ˆซ์ž๋กœ ๋‚ด๋ ค๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋•Œ ๋ชจ๋“  ๊ฒฝ๋กœ ์ค‘ ํฌํ•จ๋œ ์ˆซ์ž์˜ ์ตœ๋Œ€ ํ•ฉ์„ ์ฐพ๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ์ž…๋ ฅ ์ž…๋ ฅ์˜ ์ฒซ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ˆ˜ C(C > C; while (C--) { cin >> n; int index = 0; for (int i = 0; i ..

[c++] BOJ 1038๋ฒˆ :: ๊ฐ์†Œํ•˜๋Š” ์ˆ˜
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 5. 00:06

๊ฐ์†Œํ•˜๋Š” ์ˆ˜ https://www.acmicpc.net/problem/1038 ์‹œ๊ฐ„ ์ œํ•œ ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ ์ œ์ถœ ์ •๋‹ต ๋งž์€ ์‚ฌ๋žŒ ์ •๋‹ต ๋น„์œจ 1 ์ดˆ 512 MB 9364 2348 1876 29.716% ๋ฌธ์ œ ์Œ์ด ์•„๋‹Œ ์ •์ˆ˜ X์˜ ์ž๋ฆฟ์ˆ˜๊ฐ€ ๊ฐ€์žฅ ํฐ ์ž๋ฆฟ์ˆ˜๋ถ€ํ„ฐ ์ž‘์€ ์ž๋ฆฟ์ˆ˜๊นŒ์ง€ ๊ฐ์†Œํ•œ๋‹ค๋ฉด, ๊ทธ ์ˆ˜๋ฅผ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, 321๊ณผ 950์€ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์ง€๋งŒ, 322์™€ 958์€ ์•„๋‹ˆ๋‹ค. N๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค. 0์€ 0๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์ด๊ณ , 1์€ 1๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜์ด๋‹ค. ๋งŒ์•ฝ N๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๊ฐ€ ์—†๋‹ค๋ฉด -1์„ ์ถœ๋ ฅํ•œ๋‹ค. ์ž…๋ ฅ ์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค. N์€ 1,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ๋˜๋Š” 0์ด๋‹ค. ์ถœ๋ ฅ ์ฒซ์งธ ์ค„์— N๋ฒˆ์งธ ๊ฐ์†Œํ•˜๋Š” ์ˆ˜๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค. ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ถ„๋ฅ˜ ๋‹ค์ด..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ์™€์ผ๋“œ์นด๋“œ (๋ฌธ์ œ ID: WILDCARD, ๋‚œ์ด๋„ : ์ค‘)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 4. 3. 19:12

https://www.algospot.com/judge/problem/read/WILDCARD ๋ฌธ์ œ ์™€์ผ๋“œ์นด๋“œ๋Š” ๋‹ค์–‘ํ•œ ์šด์˜์ฒด์ œ์—์„œ ํŒŒ์ผ ์ด๋ฆ„์˜ ์ผ๋ถ€๋งŒ์œผ๋กœ ํŒŒ์ผ ์ด๋ฆ„์„ ์ง€์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค. ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž์—ด์€ ์ผ๋ฐ˜์ ์ธ ํŒŒ์ผ๋ช…๊ณผ ๊ฐ™์ง€๋งŒ, * ๋‚˜ ? ์™€ ๊ฐ™์€ ํŠน์ˆ˜ ๋ฌธ์ž๋ฅผ ํฌํ•จํ•œ๋‹ค. ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž์—ด์„ ์•ž์—์„œ ํ•œ ๊ธ€์ž์”ฉ ํŒŒ์ผ๋ช…๊ณผ ๋น„๊ตํ•ด์„œ, ๋ชจ๋“  ๊ธ€์ž๊ฐ€ ์ผ์น˜ํ–ˆ์„ ๋•Œ ํ•ด๋‹น ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž์—ด์ด ํŒŒ์ผ๋ช…๊ณผ ๋งค์น˜๋œ๋‹ค๊ณ  ํ•˜์ž. ๋‹จ, ์™€์ผ๋“œ์นด๋“œ ๋ฌธ์ž์—ด์— ํฌํ•จ๋œ ? ๋Š” ์–ด๋–ค ๊ธ€์ž์™€ ๋น„๊ตํ•ด๋„ ์ผ์น˜ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉฐ, * ๋Š” 0 ๊ธ€์ž ์ด์ƒ์˜ ์–ด๋–ค ๋ฌธ์ž์—ด์—๋„ ์ผ์น˜ํ•œ๋‹ค๊ณ  ๋ณธ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์™€์ผ๋“œ ์นด๋“œ he?p ๋Š” ํŒŒ์ผ๋ช… help ์—๋„, heap ์—๋„ ๋งค์น˜๋˜์ง€๋งŒ, helpp ์—๋Š” ๋งค์น˜๋˜์ง€ ์•Š๋Š”๋‹ค. ์™€์ผ๋“œ ์นด๋“œ *p* ๋Š” ํŒŒ์ผ๋ช… help ์—..

[c++] ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค :: N์œผ๋กœ ํ‘œํ˜„ (๋‹ค์ด๋‚˜๋ฏน ํ”„๋กœ๊ทธ๋ž˜๋ฐ)
Algorithm ๋ฌธ์ œ/ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค 2020. 4. 2. 09:21

https://programmers.co.kr/learn/courses/30/lessons/42895 ๋ฌธ์ œ ์„ค๋ช… ์•„๋ž˜์™€ ๊ฐ™์ด 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 ์ดํ•˜์ž…๋‹ˆ๋‹ค. ์ˆ˜์‹์—๋Š” ๊ด„ํ˜ธ์™€ ์‚ฌ์น™์—ฐ์‚ฐ๋งŒ ๊ฐ€๋Šฅํ•˜๋ฉฐ ๋‚˜๋ˆ„๊ธฐ ์—ฐ์‚ฐ์—์„œ ๋‚˜๋จธ์ง€๋Š” ๋ฌด์‹œํ•ฉ..

[c++] BOJ 15961๋ฒˆ :: ํšŒ์ „์ดˆ๋ฐฅ
Algorithm ๋ฌธ์ œ/BOJ 2020. 4. 2. 09:16

https://www.acmicpc.net/problem/15961 ๋‚ด ์ฝ”๋“œ #include #include #include #include using namespace std; int sushi_belt[3000000]; vector sushi_set; int main() { int n, d, k, c; cin >> n >> d >> k >> c; for (int i = 0; i > sushi_belt[i]; /* ์ดˆ๋ฐฅ k๊ฐœ์”ฉ ๋Š์–ด ์ฝ๊ธฐ */ int index = 0; for (int i = 0; i n - 1) ? i..

[c++] ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ ์ „๋žต 1๊ถŒ :: ์™ธ๋ฐœ ๋›ฐ๊ธฐ (๋ฌธ์ œ ID: JUMPGAME, ๋‚œ์ด๋„ : ํ•˜)
Algorithm ๋ฌธ์ œ/์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œํ•ด๊ฒฐ์ „๋žต 2020. 3. 29. 11:31

https://www.algospot.com/judge/problem/read/JUMPGAME ๋ฌธ์ œ ๋•…๋”ฐ๋จน๊ธฐ๋ฅผ ํ•˜๋‹ค ์งˆ๋ฆฐ ์žฌํ•˜์™€ ์˜ํ›ˆ์ด๋Š” ๋•…๋”ฐ๋จน๊ธฐ์˜ ๋ณ€์ข…์ธ ์ƒˆ๋กœ์šด ๊ฒŒ์ž„์„ ํ•˜๊ธฐ๋กœ ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒŒ์ž„์€ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด n*n ํฌ๊ธฐ์˜ ๊ฒฉ์ž์— ๊ฐ 1๋ถ€ํ„ฐ 9 ์‚ฌ์ด์˜ ์ •์ˆ˜๋ฅผ ์“ด ์ƒํƒœ๋กœ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ์ฐจ๋ก€์ธ ์‚ฌ๋žŒ์€ ๋งจ ์™ผ์ชฝ ์œ— ์นธ์—์„œ ์‹œ์ž‘ํ•ด ์™ธ๋ฐœ๋กœ ๋›ฐ์–ด์„œ ์˜ค๋ฅธ์ชฝ ์•„๋ž˜ ์นธ์œผ๋กœ ๋‚ด๋ ค๊ฐ€์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋•Œ ๊ฐ ์นธ์— ์ ํ˜€ ์žˆ๋Š” ์ˆซ์ž๋งŒํผ ์˜ค๋ฅธ์ชฝ์ด๋‚˜ ์•„๋ž˜ ์นธ์œผ๋กœ ์›€์ง์ผ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ค‘๊ฐ„์— ๊ฒŒ์ž„ํŒ ๋ฐ–์œผ๋กœ ๋ฒ—์–ด๋‚˜๋ฉด ์•ˆ ๋ฉ๋‹ˆ๋‹ค. ๊ท ํ˜•์„ ์žƒ์–ด์„œ ๋‹ค๋ฅธ ๋ฐœ๋กœ ์„œ๊ฑฐ๋‚˜ ๋„˜์–ด์ ธ๋„ ๊ฒŒ์ž„์—์„œ ์ง‘๋‹ˆ๋‹ค๋งŒ, ์žฌํ•˜์™€ ์˜ํ›ˆ์ด๋Š” ์ Š๊ณ  ํ™œ๊ธฐ์ฐจ๊ธฐ ๋•Œ๋ฌธ์— ์™ธ๋ฐœ๋กœ ๋›ฐ์–ด๋‹ค๋‹ˆ๋Š” ๊ฒƒ์€ ์•„๋ฌด๊ฒƒ๋„ ์•„๋‹™๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ฑฑ์ •๋˜๋Š” ๊ฒƒ์€ ์ฃผ์–ด์ง„ ๊ฒŒ์ž„ํŒ์— ์‹œ์ž‘์ ์—์„œ ๋์ ์œผ๋กœ ๊ฐ€๋Š” ๋ฐฉ๋ฒ•์ด ..

[c++] ๋ฐฑ์ค€ 18809๋ฒˆ : Gaaaaaaaaaarden
Algorithm ๋ฌธ์ œ/BOJ 2020. 3. 26. 17:12

https://www.acmicpc.net/problem/18809 ์ฒซ๋ฒˆ์งธ ์ฝ”๋“œ #include #include #include #include using namespace std; struct seed { int y, x; }; int map[50][50]; vector landToSeed; vector Green; vector Red; int N, M, G, R; vector g; vector r; int dir_y[4] = {0,1,0,-1}; int dir_x[4] = {1,0,-1,0}; void printVector(vector& a) { // int์— land๋„ ๋„ฃ์„์ˆ˜ ์žˆ์„๊นŒ? vector::iterator iter; for (iter = a.begin(); iter != a.end(); i..