프로그래밍

챗GPT를 활용한 백준 풀이 관련해서 질문

우리 컴하하 형님들 의견이 궁금한데, 나는 경제학 석사 과정에 있고 R을 쓰고 있음

처음에 시작을 파이썬을 했으면 좋았을텐데, 어쩌다보니까 R로 시작했어

 

궁금한건, 내가 지금 백준에서 단계대로 풀기를 하고 있는데, R로 코드를 짜고 파이썬 문법에 맞도록 chatgpt를 사용하고 있어

보통 문제를 제시하고, 내가 R로 짠 코드를 아래 붙이고 알고리즘이 맞게 쓰여졌는지 평가해서 맞다면 python 문법으로 바꿔달라고 질문을 하고 있어

 

내가 궁금한것은, 파이썬 문법을 잘 모르긴 하는데 그래도 바뀐거 대충 읽어보면 맞게 잘 짜고 있다고 생각하긴 하거든

근데 그래도 고수 형들이 보기에는 어떨지 모르겠어서 의견을 물어봅니당..

걱정하는 부분은

1. 기본적으로 백준에서 GPT를 이용한 풀이는 금지하고 있는데, 단순히 문법을 바꾸는건 괜찮은건지

2. 문법간에 의역의 여지가 있는지?

 

 

아쉽게도 현재 수준이 초보적인 수준이긴 해도 언어를 바꾸는건 어려울거 같음..이미 수료하고 논문쓰고 있는 단계라서..ㅎㅎ

 

5개의 댓글

2023.07.10

Gpt도 틀릴때많음

본인이 체크해봐야함

1
2023.07.10

보통 언어가 바뀌면 call by value, call by reference를 맞추는게 중요해요.

1
2023.07.10

1. 알고리즘은 스스로 짰으니까 꼭 python 문법은 몰라도 되지 않느냐는 질문 같은데, 꼭 백준 가이드라인 따라가야 할 필요가 없다면, 자신이 결정하는 문제 같아. 뒤에 따라오는 말을 보니 딱히 파이썬 공부할 생각도 없어 보이는데 그냥 하고 싶은 데로 하면 되는 거라고 생각함

2. ChatGPT를 기술적으로 해석하면 컴퓨터가 이해하는 방식의 의역 덩어리기 때문에, 검증은 반드시 이루어져야 함. 대충 읽어보면 맞게 짜져 있다고 생각하는 게 거의 틀리지 않을 거 같긴 한데, 코드가 좀 복잡해지면 대충 맞게 짜준다

그래도 개괄적으론 문제 없을 거 같음. gpt 파이썬 코드 잘 짜니까.

1
2023.07.10

1번은 잘모르겠고

2번은 레벨 2-3쯤가면 틀리기시작할거임 그때부턴 코드 좀 제대로 봐야함

1
2023.07.11

이전 글에 동적계획법과 백트래킹에 대한 논지를 달아둠. 니가 알고리즘 패러다임 자체를 잘못 이해하고 있음

 

부가설명을 하면 피보나치 수열은 백트래킹 방식과 동적 계획법 둘 다 써서 해결이 가능한 문제임.

 

그러나 fn = fn-1 + n의 형태로 피보나치 수열은 점화식을 만들 수가 있음

식이 구성된다는 말은 최적 해가 있다는 뜻이 됨. 그래서 메모이제이션, 즉 이전 값을 메모해서 저장해두면 다음 값을 계산 하는 것에 이용할 수 있는 수열이 됨 피보나치 수열은.

그러므로 재귀를 쓰지 않고 메모리를 소모해서 이전 값을 “저장” 하면 계산 횟수를 급격히 감소시킬 수 있음

(n 이전 값인 fn-1 계산 값을 저장하는 순간 1부터 n-1번까지 계산 해야하는 함수콜 전체를 줄일 수 있음. 이게 우습게 보이나 총합을 계산하면 (n-1)(n-2)/2 번임. O(n^2) 계산이라 존나 Big-O관점에서 계산 횟수가 매우 큰 거임)

 

예전에는 메모리가 더 귀하기 때문에 메모리가 적은 환경에서는 피보나치 수열의 경우 어쩔 수 없이 재귀가 더 빠를 수 밖에 없지 물리적인 환경이 안 되니까.

근데 현재처럼 메모리가 넉넉한 환경에선 빅O 판별할 때 시간자원이 공간자원보다 더 중요하게 됨.(공간비용 < 시간비용)

그래서 메모리를 상대적으로 잡아 먹음에도 불구하고 동적계획법을 쓰면 재귀를 쓰는 백트래킹보다 속도가 빠름. 그래서 피보나치 수열 계산할 때 동적 계획법을 쓰는 거임.

 

하노이의 탑이 대표적 재귀문제인데 하노이의 탑 문제를 수학적 수식으로 표현할 수 있음?

불가능하지? 인간처럼 반복 동작이 있긴 있으나 이걸 뭐 수식으로 표현하는 건 불가능 하잖아. 그러니 저장할 수치가 없어서 하노이의 탑은 인간이 하는 것처럼 반복 행동을 할 수 밖에 없음. 그런 고로 재귀인 백트래킹을 쓰는 거임.

 

말이 길어졌다만

수학적인 어떤 식(대표적으로 점화식)으로 표현이 가능한 문제 = 동적계획법

표현이 불가능하고 인간이 하는 것처럼 단순한 반복행동을 통해 찾음 = 백트래킹(재귀)

 

이렇다고 생각하면 된다

이해가 안 된다면 전공 서적 급 알고리즘 책 사서 읽어라

1
무분별한 사용은 차단될 수 있습니다.
번호 제목 글쓴이 추천 수 날짜 조회 수
5709 [프로그래밍] 패스트 캠퍼스 <---- 얘내는 가격 인상 원툴임? 3 조강현 0 18 시간 전 213
5708 [프로그래밍] 클라가 파이썬 셀레니움같은거 써서 클릭하고 그러는걸 감지 ... 5 리옴므 0 1 일 전 180
5707 [프로그래밍] leetcode 50일 달성 1 JimmyMcGill 1 1 일 전 153
5706 [프로그래밍] 그냥 개인공부용 git 만들건데 4 년째재수강 0 2 일 전 237
5705 [프로그래밍] html 자바스크립트 질문 19 책걸이 0 2 일 전 289
5704 [프로그래밍] 아니 시바 이게 무슨일이야 4 인간지표 0 3 일 전 305
5703 [프로그래밍] 아두이노 키트 아무것도 모르고 사도 될까? 6 그것 0 3 일 전 253
5702 [프로그래밍] 횽들 Vimeo에 올라가있는 동영상의 원본크기를 확인할 수 있... 13 카뜨만두 0 3 일 전 181
5701 [프로그래밍] c# 이벤트와 델리게이트 13 RX7900XTX 0 6 일 전 304
5700 [프로그래밍] Aws 람다에 파이썬 올려서 결과 받아오는데 11 아르피쥐 0 8 일 전 342
5699 [프로그래밍] 마리아DB mediumtext 그냥 쓰고 싶은데 21 잉텔 0 8 일 전 220
5698 [프로그래밍] 안드로이드 씹뉴비 질문이요 2 집에가게해줘 0 8 일 전 125
5697 [프로그래밍] c언어 7년했는데 이런게 되는거 처음알았음.. 4 케로로중사 0 10 일 전 890
5696 [프로그래밍] 파이썬 1도 모르는데 GPT로 프로그램 뚝딱 만듬 2 푸르딩딩 1 13 일 전 741
5695 [프로그래밍] 담주 면접잡혔는데 8 삐라루꾸 0 13 일 전 499
5694 [프로그래밍] 아두이노 부트로더를 구웠는데.. 4 렙이말한다ㅡ니가옳다 0 14 일 전 233
5693 [프로그래밍] IOS 개발자 있나여? 1 g4eng 0 16 일 전 260
5692 [프로그래밍] 시스템 디자인 인터뷰 준비 도움좀!!! 1 Nognhyup 0 17 일 전 201
5691 [프로그래밍] 최근에 vscode 쓴 사람 도움! 3 172102 0 18 일 전 523
5690 [프로그래밍] 책을 또 사버리고 말았다... 1 찰나생멸 2 18 일 전 523