glowing713
Frontend-Deep-Dive
glowing713
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (97)
    • Languages (11)
      • JavaScript ๐Ÿ’› (3)
      • Python ๐Ÿ (4)
      • Java โ˜•๏ธ (3)
      • Swift ๐Ÿงก (1)
    • Computer_Science (1)
      • Computer_Network ๐Ÿ•ธ (1)
    • Web_Frontend (4)
      • Vue.js (1)
    • Problem_Solving (76)
    • Server (1)
      • Spring ๐Ÿ€ (1)
    • AI (2)
      • NLP ๐Ÿ—ฃ (1)
      • AI_Math โž— (1)
    • ๊ฐœ๋ฐœํ™˜๊ฒฝ ๊พธ๋ฏธ๊ธฐ โœŒ (1)
    • ์ƒ๊ฐ์ •๋ฆฌ โœ๐Ÿป (1)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿง‘๐Ÿปโ€๐Ÿ’ปGithub

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • ์ด๋ถ„ํƒ์ƒ‰
  • ์นด์นด์˜ค ๊ธฐ์ถœ
  • BOJ
  • Algorithm
  • bfs
  • c++
  • Baekjoon
  • ๋™์ ๊ณ„ํš๋ฒ•
  • binary search
  • boostcampaitech
  • Stack
  • mst
  • DP
  • brute-force
  • Java
  • 2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ
  • ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
  • ์™„์ „ํƒ์ƒ‰
  • ps
  • Python

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

hELLO ยท Designed By ์ •์ƒ์šฐ.
glowing713

Frontend-Deep-Dive

[BOJ] ๋ฐฑ์ค€ 11053 ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
Problem_Solving

[BOJ] ๋ฐฑ์ค€ 11053 ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)

2020. 4. 24. 23:24

์ด๋ฏธ์ง€๋ฅผ ํด๋ฆญํ•˜๋ฉด ๋ฌธ์ œ ์‚ฌ์ดํŠธ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค.


 

 

๐Ÿ’ฃ ๋ฌธ์ œ ์ดํ•ด

 

 

์ˆ˜์—ด A = {10, 20, 10, 30, 20, 50}์ธ ๊ฒฝ์šฐ

 

๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์€ A = {10, 20, 10, 30, 20, 50} ์ด๊ณ , ๊ธธ์ด๋Š” 4์ด๋‹ค.

 

๋™์  ๊ณ„ํš๋ฒ•(Dynamic Programming) ๋ฐฉ์‹์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

 

 

๐Ÿ’ญ ํ’€์ด ๊ณผ์ •

 

 

์ƒ๊ฐ๋ณด๋‹ค ํ’€์ด๊ณผ์ •์€ ๊ฐ„๋‹จํ–ˆ๋‹ค.

 

๊ณ„์†ํ•ด์„œ DP ๋ฌธ์ œ๋ฅผ ํ’€์ดํ•˜๋ฉฐ ํ’€์ด ์ ‘๊ทผ ๋ฐฉ์‹ ๊ฐ์„ ์ž˜ ์žก๋Š” ๊ฒŒ ์ค‘์š”ํ•œ ๊ฒƒ ๊ฐ™๋‹ค.

 

 

๋™์  ๊ณ„ํš๋ฒ• ํ’€์ด

 

 

์ž‘์„ฑ ์–ธ์–ด: C++

 

#include <cstdio>

using namespace std;


int longestSeqLength(int (*dpArr)[1010], int arrSize) {
    int max = 0, longest = 0;
    for (int i = 0; i < arrSize; ++i) {
        for (int j = 0; j < i; ++j) {
            if ((*(dpArr))[i] > (*(dpArr))[j]) {
                if ((*(dpArr + 1))[j] > max) {
                    max = (*(dpArr + 1))[j];
                }
            }
        }
        (*(dpArr + 1))[i] = max + 1;
        if (longest < (*(dpArr + 1))[i])
            longest = (*(dpArr + 1))[i];
        max = 0;
    }
    
    return longest;
}

int main() {
    int arrSize = 0, answer = 0;
    int dpArr[2][1010] = {0,};
    
    scanf("%d", &arrSize);
    
    for (int i = 0; i < arrSize; ++i) {
        scanf("%d", &dpArr[0][i]);
    }
    
    answer = longestSeqLength(dpArr, arrSize);
    printf("%d\n", answer);
    
    return 0;
}

 

 

Max: 0, Longest: 1

10 20 10 30 20 50
1          

 

์ฒซ ๋ฒˆ์งธ ์ˆ˜๋Š” ์ž๊ธฐ ์ž์‹  ๋ฐ–์— ์—†์œผ๋ฏ€๋กœ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 1์ด๋‹ค.

 

 

 

Max: 1, Longest: 2

10 20 10 30 20 50
1 2        

 

๋‘ ๋ฒˆ์งธ ์ˆ˜๋Š” ์•ž์˜ ์ˆ˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 1 ์ด๋ฏ€๋กœ ์ž์‹ ์„ ํฌํ•จํ•ด์„œ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 2์ด๋‹ค.

 

 

 

Max: 0, Longest: 2

10 20 10 30 20 50
1 2 1      

 

์„ธ ๋ฒˆ์งธ ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ์ž‘์€ ์ˆ˜๊ฐ€ ์—†์œผ๋ฏ€๋กœ ์ตœ๋Œ€ ๊ธธ์ด๋Š” 1์ด๋‹ค.

 

 

 

Max: 2, Longest: 3

10 20 10 30 20 50
1 2 1 3    

 

๋„ค ๋ฒˆ์งธ ์ˆ˜๋Š” ์•ž์˜ ์ˆ˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 2 ์ด๋ฏ€๋กœ ์ž์‹ ์„ ํฌํ•จํ•ด์„œ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 3์ด๋‹ค.

 

 

 

Max: 1, Longest: 3

10 20 10 30 20 50
1 2 1 3 2  

 

๋‹ค์„ฏ ๋ฒˆ์งธ ์ˆ˜๋Š” ์•ž์˜ ์ˆ˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 1 ์ด๋ฏ€๋กœ ์ž์‹ ์„ ํฌํ•จํ•ด์„œ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 2์ด๋‹ค.

 

 

 

Max: 3, Longest: 4

10 20 10 30 20 50
1 2 1 3 2 4

 

๋งˆ์ง€๋ง‰ ์ˆ˜๋Š” ์•ž์˜ ์ˆ˜ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 3 ์ด๋ฏ€๋กœ ์ž์‹ ์„ ํฌํ•จํ•ด์„œ ์ตœ๋Œ€ ๊ธธ์ด๊ฐ€ 4์ด๋‹ค.

 

 

 

๋งค ์ฐจ๋ก€๋งˆ๋‹ค ์ตœ๋Œ€ ๊ธธ์ด๋ฅผ ๊ฐฑ์‹ ํ•œ ๊ฒฐ๊ณผ, 4๊ฐ€ ๊ฐ€์žฅ ๊ธด ์ฆ๊ฐ€ํ•˜๋Š” ๋ถ€๋ถ„ ์ˆ˜์—ด์˜ ๊ธธ์ด์ž„์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

 

 

๐Ÿ† ๋ฐฐ์šด ์ 

 

 

ํ•™๊ธฐ๊ฐ€ ์‹œ์ž‘ํ•˜๋ฉด์„œ ๊ฝค ์˜ค๋žœ๋งŒ์— ๋ฐฑ์ค€ ๋ฌธ์ œ๋ฅผ ํ‘ผ ๊ฒƒ ๊ฐ™๋‹ค.

 

๋‹ค์‹œ ํ’€์–ด๋ณด๋‹ˆ DP ํ’€๋˜ ์ ‘๊ทผ ๋ฐฉ๋ฒ•์ด ๊ธฐ์–ต๋‚˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๊ฒƒ ๊ฐ™๋‹ค.

 

์ž์ฃผ, ๊พธ์ค€ํžˆ ๋ฌธ์ œ ํ’€์ด๋ฅผ ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•œ ์ด์œ ๋ฅผ ๊นจ๋‹ซ๊ฒŒ ๋œ๋‹ค.

์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ] ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„  (0) 2020.05.01
[BOJ] ๋ฐฑ์ค€ 11055 ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2020.04.27
[BOJ] ๋ฐฑ์ค€ 9251 LCS / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2020.03.14
[BOJ] ๋ฐฑ์ค€ 12865 ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2020.03.12
[BOJ] ๋ฐฑ์ค€ 11051 ์ดํ•ญ ๊ณ„์ˆ˜ 2 / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)  (0) 2020.03.11
    'Problem_Solving' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [2019 ์นด์นด์˜ค ๊ฐœ๋ฐœ์ž ๊ฒจ์šธ ์ธํ„ด์‹ญ] ํฌ๋ ˆ์ธ ์ธํ˜•๋ฝ‘๊ธฐ ๊ฒŒ์ž„
    • [BOJ] ๋ฐฑ์ค€ 11055 ๊ฐ€์žฅ ํฐ ์ฆ๊ฐ€ ๋ถ€๋ถ„ ์ˆ˜์—ด / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    • [BOJ] ๋ฐฑ์ค€ 9251 LCS / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    • [BOJ] ๋ฐฑ์ค€ 12865 ํ‰๋ฒ”ํ•œ ๋ฐฐ๋‚ญ / ๋™์  ๊ณ„ํš๋ฒ•(Dynamic-Programming)
    glowing713
    glowing713

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”