Notice
Recent Posts
Recent Comments
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 백준
- leetcode
- PYTHON
- 파이썬
- 편스토랑
- 금융문자분석경진대회
- 자연어처리
- 맥북
- AI 경진대회
- gs25
- 프로그래머스 파이썬
- dacon
- 코로나19
- programmers
- 프로그래머스
- hackerrank
- github
- 더현대서울 맛집
- 캐치카페
- Kaggle
- Baekjoon
- ubuntu
- 편스토랑 우승상품
- Git
- 데이콘
- Real or Not? NLP with Disaster Tweets
- ChatGPT
- Docker
- 우분투
- SW Expert Academy
Archives
- Today
- Total
솜씨좋은장씨
[Programmers] 진료순서 정하기 (Python) (feat.ChatGPT) 본문
728x90
반응형
코딩 1일 1문제! 오늘의 문제는 프로그래머스의 진료순서 정하기 입니다.
👨🏻💻 문제 풀이 - SOMJANG
1. 먼저 응급도가 담겨져있는 리스트를 내림차순으로 정렬합니다.
2. 이렇게 만든 리스트로 숫자를 key 로 순번을 value 로 하는 dictionary 를 만들어줍니다.
3. 마지막으로 응급도 리스트에서 하나씩 숫자를 꺼내오면서 emergency_dict 에 응급도를 넣어 나오는 idx 를 모아 정답으로 합니다.
👨🏻💻 코드 (Solution)- SOMJANG
def solution(emergency):
sorted_emergency = sorted(emergency, reverse=True)
emergency_dict = {
num:idx for idx, num in enumerate(sorted_emergency, start=1)
}
return [emergency_dict[num] for num in emergency]
👨🏻💻 문제 풀이 - ChatGPT - 1회차
- sorted() 함수를 사용하여 입력받은 emergency 리스트를 내림차순으로 정렬합니다.
- 리스트 컴프리헨션을 사용하여, 각 원소의 응급도가 높은 순서대로 번호를 부여합니다. 이를 위해 index() 함수를 사용하여 각 원소가 정렬된 리스트에서 몇 번째 위치에 있는지를 찾고, 1을 더하여 인덱스를 번호로 변환합니다.
- 부여한 번호를 담은 리스트를 반환합니다.
👨🏻💻 코드 (Solution)- ChatGPT - 1회차
def solution(emergency):
sorted_emergency = sorted(emergency, reverse=True) # 응급도가 높은 순서대로 정렬
answer = [sorted_emergency.index(x)+1 for x in emergency] # 응급도가 높은 순서대로 번호 부여
return answer
제가 사용할까 고민했던 index를 활용해서 풀었습니다.
👨🏻💻 문제 풀이 - ChatGPT - 2회차 - 더 성능 좋은 코드 실패!
- enumerate() 함수를 사용하여 각 원소와 인덱스를 쌍으로 묶은 이터레이터를 생성합니다.
- sorted() 함수를 사용하여 이터레이터를 내림차순으로 정렬합니다. 이때 key 옵션을 사용하여 정렬 기준을 설정합니다. 람다식을 사용하여 각 쌍 중에서 두 번째 원소에 대해 내림차순으로 정렬합니다.
- 리스트 컴프리헨션을 사용하여 정렬된 이터레이터에서 인덱스만 추출하여 1을 더한 리스트를 생성합니다.
👨🏻💻 코드 (Solution)- ChatGPT - 2회차 - 더 성능 좋은 코드 실패!
def solution(emergency):
return [i+1 for i, x in sorted(enumerate(emergency), key=lambda x: -x[1])]
더 성능 좋은 코드는...!
몇몇 케이스에서 실패하여
이 실패한 입력값과 기댓값을 알려주고 다시 풀어봐 달라고 했으나...!
계속 같은 코드를 알려주어 너무 아쉬웠습니다.
읽어주셔서 감사합니다.
'Programming > 코딩 1일 1문제' 카테고리의 다른 글
[Programmers] 개미 군단 (Python) (feat.ChatGPT) (1) | 2023.04.12 |
---|---|
[Programmers] 외계행성의 나이 (Python) (feat.ChatGPT) (0) | 2023.04.11 |
[Programmers] 팩토리얼 (Python) (feat.ChatGPT) (0) | 2023.04.09 |
[Programmers] 약수 구하기 (Python) (feat.ChatGPT) (0) | 2023.04.08 |
[Programmers] 369게임 (Python) (feat.ChatGPT) (0) | 2023.04.07 |
Comments