Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 혼공머신
- 머신러닝
- 데이터베이스
- ChatGPT
- 쇼핑몰홈페이지제작
- 컴퓨터비전
- rnn
- c언어
- JSP
- 자바
- SQL
- 중학1-1
- JSP/Servlet
- 파이썬
- html/css
- 자바 실습
- 자바스크립트
- 딥러닝
- 데이터분석
- 컴퓨터구조
- 정보처리기사필기
- 정보처리기사실기
- 중학수학
- JDBC
- 자바스크립트심화
- 디버깅
- 연습문제
- 순환신경망
- 상속
- 개발일기
Archives
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
프로그래밍을 위한 프롬프트 엔지니어링 4 - 코드 오류 수정하기 및 가설 검정 시행하기 본문
인공지능/프롬프트 엔지니어링 & 생성형 AI
프로그래밍을 위한 프롬프트 엔지니어링 4 - 코드 오류 수정하기 및 가설 검정 시행하기
huenuri 2024. 12. 21. 13:52이번 실습의 문제는 코드 오류를 수정하는 문제들이다.
실습 3 - 코드 오류 수정하기
문제 확인
이 문제는 오류가 있어서 다음과 같은 오류 메시지가 뜬다. 이 코드를 이제 수정해 볼 것이다.
문제 풀기
- n = int(input()에서 괄호가 닫히지 않았던 오류를 수정했다.
- for i in range(n)에서 콜론(:)이 빠져 있었던 문제를 수정했다.
- sorted(array)는 정렬된 결과를 반환하지만 원래 리스트를 정렬하지 않으므로 array.sort()로 변경했다.
하지만 몇 분을 기다려도 코드는 실행되지 않았다. 이 코드가 오래 걸리는 이유는 아마도 입력 크기 n이 너무 크거나, 입력을 처리하는 동안 문제가 생겼기 때문일 가능성이 높다.
원인
- n의 크기 문제
- 입력값 n이 너무 크면 리스트를 생성하고 정렬하는 데 시간이 많이 걸릴 수 있다.
- 만약 의도치 않게 너무 큰 n을 입력했다면, 프로그램이 정렬 작업에서 멈출 수 있다.
- 입력 문제
- 반복문에서 입력을 받을 때, 입력값이 제대로 제공되지 않으면 프로그램이 계속 기다리게 된다.
- 특히 입력값을 충분히 주지 않거나 형식이 잘못된 경우 무한 대기 상태가 될 수 있다.
- 알고리즘 효율성 문제
- 현재 정렬 알고리즘은 Python의 내장 sort를 사용하므로 효율적이지만, 입력 크기가 아주 크다면 여전히 시간이 오래 걸릴 수 있다.
해결 방안
- n 제한 추가
- 너무 큰 값이 입력되지 않도록 제한을 추가하기
- 입력 확인
- 입력값을 한번에 받고 처리하도록 변경하면 입력 문제를 줄일 수 있다.
- 입출력 최적화
- 반복적으로 입력받지 않고, 한 번에 모든 입력을 처리하면 성능이 개선된다.
코드 수정하기
코드를 이처럼 수정하기 실행이 잘 되었고 정렬도 잘 되고 있다.
실습 5 - 가설 검정 시행하기
문제 풀기
이 문제는 단일 표본 t-검정(One-Sample t-test)을 사용해 주어진 데이터의 평균이 가설의 평균(80점)과 통계적으로 유의미하게 다른지 확인하는 문제이다.
위 코드는 단일 표본 t-검정을 수행하며, 귀무가설(평균 점수는 80점이다)을 검증한다. 실행 후 p-값을 확인하고 유의 수준 0.05보다 작으면 귀무가설을 기각하고, 그렇지 않으면 채택하면 된다.
학습을 마치고
조금 어려운 문제도 있었지만 ChatGPT에게 물어봐서 잘 풀었다. 이런 식으로 코드 수정뿐 아니라 가설도 검증할 수 있다는 것을 알게 되었다.
이제 남은 문제가 3문제 남았으니 끝까지 최선을 다해 풀어볼 것이다. 늦어도 2시 반 안에는 다 마칠 수 있을 것 같다. 오늘 학습량을 모두 채워서 공개 발행은 내일이나 되겠다.
'인공지능 > 프롬프트 엔지니어링 & 생성형 AI' 카테고리의 다른 글
프로그래밍을 위한 프롬프트 엔지니어링 6 - PDF 파일 이름 변경 및 병합 코드 생성하기 (0) | 2024.12.21 |
---|---|
프로그래밍을 위한 프롬프트 엔지니어링 5 - 효율적인 코드로 변환하기와 전처리 코드 추가하기 (0) | 2024.12.21 |
프로그래밍을 위한 프롬프트 엔지니어링 3 - C++로 작성된 코드 Python으로 변환하기 및 Tensorflow 코드를 Pytorch로 변환하기 (0) | 2024.12.21 |
프로그래밍을 위한 프롬프트 엔지니어링 2 - LLM 성능 향상을 위한 프롬프팅 기법 (0) | 2024.12.21 |
프로그래밍을 위한 프롬프트 엔지니어링 1 - LLM을 활용한 기초 프로그래밍과 디버깅 그리고 코드 변환 (0) | 2024.12.21 |