C#알고리즘 썸네일형 리스트형 정렬 알고리즘 시간 복잡도, 공간 복잡도와 구현(복잡하지만 효율적 정렬) 정렬 알고리즘의 종류와 시간복잡도를 이전 글에 포스팅을 했고 이번에는 복잡하지만 효율적 정렬 알고리즘을 구현해보았다. [정렬 알고리즘의 종류와 시간복잡도] 정렬 알고리즘 시간 복잡도, 공간 복잡도와 구현 정렬 알고리즘의 종류와 시간복잡도 백준 알고리즘에서 실버단계로 올라가면서 점점 알고리즘을 공부해야 한다는 필요성을 느꼈다. 그래서 가장 기본적인 정렬알고리즘에 대해 정리를 해보고 rnflajdrnfl.tistory.com 이번 블로그에서는 복잡하지만 효율적 정렬을구현을 해보았다. 시간복잡도(nlogn) 사용한 프로그래밍 언어는 c#입니다. 쉘 정렬( shell sort ) 삽입 정렬 알고리즘의 작동원리는 배열의 특정 인덱스값이 정렬된 배열과 비교되어 알맞는 자리에 삽입을 하는 과정입니다. 만약 특정 인덱.. 더보기 (C#) AI와의 대결 : 백준 알고리즘 2231번 Chat-GPT와 코드 비교 이 문제는 내가 알고리즘에 취약하다는 걸 알려준 문제이다. 지금까지의 알고리즘 문제는 알고리즘이라고 하기보단 논리적인 수학접근법으로 코드를 작성하면 잘 풀렸다. 그래서 이 문제를 시도할때도 분명 규칙이 있을 것이라 생각했다. 2~3시간 고민해도 쉽게 답이 나오지 않았고 이 문제가 브루트 포스 알고리즘이라는 것을 알게되면서 바로 풀렸던 문제다. 백준 2231번 문제 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물론, 어떤 자연수의 경우에는 생성자가 없을 수도 있다. 반대로,.. 더보기 (C#) AI와의 대결 : 백준 알고리즘 2741번 Chat-GPT와 코드 비교 이번에는 다소 당황스러운 문제를 가지고 왔다. 문제 난이도는 브론즈 5로 어려운 문제는 아닌데 C#언어를 다루는 사람입장에서는 다소 당황스러웠다. 전체 정답비율이 56퍼인데 반해 C#하는 사람들의 제출결과는 반타작도 되지 못한다. 왜 그런지 같이 살펴보자. 백준 2741번 문제 문제 : 자연수 N이 주어졌을 때, 1부터 N까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다. 출력 : 첫째 줄부터 N번째 줄 까지 차례대로 출력한다. 문제풀이 문제는 사실 반복문만 알고있으면 바로 풀수있는 정도의 문제이다. 밑의 코드로 작성해서 채점을 한 결과.. 계속 시간초과가 났다. int num = Int32.Parse(Console.ReadLin.. 더보기 (C#) AI와의 대결 : 백준 알고리즘 1001번 Chat-GPT와 코드 비교 이번에는 백준알고리즘 1001번 문제이다. Chat-GPT를 사용하여 질문을하는게 낮설다보니 질문에 따라 답이 다르게 나온다. 이번 블로그 글을 작성하기 위해 질문을 했을때 내가 원하는 결과가 나오지 않았지만 질문을 추가하니 꽤나 블로그 글 같아졌다. 백준 1001번 문제 문제 : 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진다. (0 < A, B < 10) 출력 : 첫째 줄에 A-B를 출력한다. 문제풀이 밑에서 부턴 Chat-GPT에게 블로그글을 써보라고 시켜본 결과이다. Chat-GPT에게 물어본 문장- [처음] 문제 : 두 정수 A와 B를 입력받은 다음, A-B를 출력하는 프로그램을 작성하시오. 입력 : 첫째 줄에 A와 B가 주어진.. 더보기 이전 1 다음