본문 바로가기

백준 문제

(C#) AI와의 대결 : 백준 알고리즘 1000번 Chat-GPT와 코드 비교

반응형

최근에 나는 백준 알고리즘을 풀기 시작했다.

그래서 내가 푼 알고리즘을 블로그에 올려야지 생각을 했다가 미루기만했다.

최근 chat-GPT에 대한 관심이 많아졌고 이를 이용할 방법을 찾다가 둘다 사용할 법을 찾았다.

이제 내가 귀찮게 구글에 검색하고 조사할 필요없이 Chat-GPT를 사용하려 꾸준하게 블로그를 쓸 예정이다.


백준 1000번문제

문제 : 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

입력 : 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력 : 첫째 줄에 A+B를 출력한다.

문제풀이

밑에서 부턴 Chat-GPT에게 블로그글을 써보라고 시켜본 결과이다.

 


Chat-GPT에게 물어본 문장

블로그에 내가 푼 알고리즘 문제와 너가 푼알고리즘 문제를 비교하는 글을 작성하고 싶은데 내가 작성한 코드는 밑에 있고 너가 작성한 코드 설명과 내가 작성한 코드를 비교해서 블로그 글을 작성해줘 프로그래밍 언어는 C#이야.


 

 

알고리즘 문제는 프로그래밍의 필수 부분이며 이를 해결하면 코딩 기술을 연마하는 데 도움이 될 수 있습니다. 이 블로그 게시물에서는 간단한 알고리즘 문제에 대한 두 가지 솔루션을 비교하고 차이점을 확인합니다. 문제는 두 개의 정수를 입력으로 받아 그 합계를 출력하는 것입니다. 우리가 사용할 프로그래밍 언어는 C#입니다. 작성한 코드는 다음과 같습니다.

 

내가 작성한 코드

using System;
namespace test
{ 
    class MainApp
    {
        static void Main(string[] args)
        {
            string input1 = Console.ReadLine();
            string[] input2 = input1.Split(' ');
            int num1 = Int32.Parse(input2[0]);
            int num2 = Int32.Parse(input2[1]);
            Console.WriteLine(num1+num2);
        }
    }
}

이 코드는 사용자 입력을 문자열로 받아 공백 문자를 구분 기호로 사용하여 두 개의 개별 문자열로 분할한 다음 Int32.Parse() 메서드를 사용하여 정수로 변환합니다. 마지막으로 두 정수를 더하고 Console.WriteLine() 메서드를 사용하여 결과를 인쇄합니다.

 

chat-GPT가 작성한코드

using System;

namespace AlgorithmProblem
{
    class Program
    {
        static void Main(string[] args)
        {
            int num1 = int.Parse(Console.ReadLine());
            int num2 = int.Parse(Console.ReadLine());

            int sum = num1 + num2;

            Console.WriteLine(sum);
        }
    }
}

 

내가 작성한 코드는 int.Parse() 메서드를 사용하여 사용자 입력을 정수로 직접 받습니다. 그런 다음 두 정수를 더하고 결과를 'sum'이라는 별도의 변수에 저장합니다. 마지막으로 Console.WriteLine() 메서드를 사용하여 sum 값을 인쇄합니다.

 

두 솔루션 모두 동일한 결과를 달성하지만 두 솔루션 사이에는 몇 가지 눈에 띄는 차이점이 있습니다. 작성한 코드는 사용자 입력을 두 개의 문자열로 분할하므로 이 문제에 필요하지 않을 수 있습니다. 반면에 내가 작성한 코드는 사용자 입력을 정수로 직접 받아 더 간단하고 효율적입니다.

 

또한 내가 작성한 코드는 합계를 저장하기 위해 별도의 변수를 선언하여 코드를 더 읽기 쉽고 이해하기 쉽게 만들 수 있습니다. 작성한 코드는 Console.WriteLine() 메서드 내에서 직접 추가를 수행하므로 코드가 더 간결해지지만 읽기가 더 어려워질 수 있습니다.

 

결론적으로 두 솔루션 모두 알고리즘 문제를 성공적으로 해결하지만 접근 방식과 스타일이 다릅니다. 알고리즘 문제를 풀 때 효율성, 가독성, 간결함 간의 균형을 찾는 것이 중요합니다.

 

동일한 알고리즘 문제에 대한 두 가지 솔루션의 비교가 도움이 되고 유익한 정보가 되었기를 바랍니다. 즐거운 코딩하세요!

 


위에 Chat-GPT가 작성한 블로그 글을 읽고 사용자 입력을 정수로 바꿔서 그대로 정수에 초기화 하는 방법이 있다는 걸 배우게 되었다. 앞으로 Chat-GPT를 사용하여 AI를 배움의 수단으로 사용해야겠다.

 

 

반응형