728x90
1. 문제 풀이
chatGPT를 활용해서 알고리즘을 풀이하고 공부도 할 수 있다
위의 홈페이지에서 들어가서 구글 로그인하고, 궁금한 것을 질문한다
영어로 물어보면 답변할 때 한국말보다 훨씬 빨라서 질문만 영어로 하고
문제는 프로그래머스의 설명을 그대로 복붙 했다
def solution(n, lost, reserve):
# 학생 번호는 1부터 시작하므로 n+1개의 0으로 이루어진 리스트를 생성
students = [0] + [1] * n
# 체육복을 도난당한 학생은 체육복 개수를 1개 감소시킴
for l in lost:
students[l] -= 1
# 여벌의 체육복을 가지고 있는 학생은 체육복 개수를 1개 증가시킴
for r in reserve:
students[r] += 1
# 체육복을 빌려주는 과정
for i in range(1, n+1):
if students[i] == 2:
if i-1 >= 1 and students[i-1] == 0: # 왼쪽 학생에게 빌려줌
students[i-1] += 1
students[i] -= 1
elif i+1 <= n and students[i+1] == 0: # 오른쪽 학생에게 빌려줌
students[i+1] += 1
students[i] -= 1
# 수업을 들을 수 있는 학생 수 계산
answer = 0
for s in students:
if s > 0:
answer += 1
return answer
주석까지 친히 달아준다...!
코드에 대한 설명도 자세히 알려준다
2. 에러 찾기
내가 문제를 풀면서 에러가 나면 구체적으로 어디서 에러 찾기가 어렵다 프로그래머스만 보더라도 아래의 그림처럼 어떤 에러인지 알려주고, 어디 줄에 해당하는지 안 알려준다
그런데 gpt는...
먼저 문제의 에러사항에 대한 설명을 주고
def solution(n, lost, reserve):
# Remove duplicates from lost and reserve lists
lost_set = set(lost) - set(reserve)
reserve_set = set(reserve) - set(lost)
answer = [1]*(n+1)
cnt = 0
for i in range(1, n+1):
if i in lost_set:
answer[i] -= 1
if i in reserve_set:
answer[i] += 1
for i in range(1, n+1):
if answer[i] ==2:
if answer[i-1] == 0:
answer[i] -= 1
answer[i-1] += 1
elif answer[i+1] == 0:
answer[i] -= 1
answer[i+1] += 1
for i in range(1, n+1):
if answer[i] >= 1:
cnt += 1
return cnt
모범답안까지 제시해 준다
더 충격적인 건.....
문제를 풀고 모르면 한 줄 한 줄 설명도 해준다...
3. 느낀 점
1. 과외 선생님
문제를 풀다가 막힐 때 참고하면 밀착 과외선생님처럼 활용할 수 있다
참 좋다
2. 신뢰성
문제를 복붙 할 경우 히든테스트케이스까지 포함하여 정답률 100%이다(내가 경험한 것은)
그래서 마음 놓고 공부할 수 있다
3. 편리성
알고리즘 풀이가 어려워서 다른 사람의 정답이나 블로그를 보더라도
한 번에 이해 안 되는 경우도 많아 여러 가지 해답을 보게 되는데
chatGPT는 가독성 있는 코드와 설명을 함께 주어서 이것만 보아도 이해가 잘 된다
편리하고 시간도 절약할 수 있다
4. 번외
오늘 하루동안 많이 써보니 코딩테스트 문제를 많이 틀리기도 하고
오류가 나기도 한다
인간미... 까지 탑재한 그는 대체..
'프로그래밍 > 알고리즘' 카테고리의 다른 글
알고리즘 풀이 꿀팁 (0) | 2023.02.22 |
---|---|
프로그래머스 - 암호해독 파이썬 (0) | 2023.02.20 |
프로그래머스 - 체육복 파이썬 (0) | 2023.02.15 |
컴공생들과 함께하는 알고리즘 스터디 후기 (0) | 2023.02.14 |
프로그래머스 - 푸드 파이트 대회 파이썬 (0) | 2023.02.13 |
댓글