openAI

1 분 소요

openAI

스터디원으로부터 openAI 에 대해 알게 되었다.

https://beta.openai.com/overview

회원가입을 하면 playgroud 에서 AI 테스트를 해볼 수 있다.

https://beta.openai.com/playground

아래는 연속합 문제를 풀기위한 알고리즘을 openAI 로 구현해본 사례이다.

연속합문 https://www.acmicpc.net/problem/1912

```java title=”dp.java” public class DpClass { public static void main(String[] args) { int[] arr = {-7, 4, -3, 6, 3, -8, 3, 4}; System.out.println(“Max Sum : “ + getMaxSum(arr)); }

public static int getMaxSum(int[] arr) {
    int[] dp = new int[arr.length + 1];
    dp[1] = arr[0];
    for(int i = 2; i < dp.length; i++) {
            dp[i] = Math.max(dp[i - 1] + arr[i - 1], arr[i - 1]);
        }
    int max = dp[1];
    for(int i = 2; i < dp.length; i++) {
            if(max < dp[i]) {
                    max = dp[i];
                }
        }
    return max;
} } ```

:::info 동적계획법이란? https://hongjw1938.tistory.com/47

DP, 즉 다이나믹 프로그래밍(또는 동적 계획법)은 기본적인 아이디어로 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 그 결과를 저장하여 다시 큰 문제를 해결할 때 사용하는 것으로 특정한 알고리즘이 아닌 하나의 문제해결 패러다임으로 볼 수 있다.

Richard Bellman이 1950년대에 사용한 단어로 이름은 그냥 멋있어 보여서 그렇게 지어졌으니 신경 쓰지 않아도 된다.

큰 문제를 작은 문제로 쪼개서 그 답을 저장해두고 재활용한다. 그래서 혹자는 DP가 아닌 ‘기억하며 풀기’라고 부르기도 한다. :::

카테고리:

업데이트: