문제: 뒤에서 5등 위로
https://school.programmers.co.kr/learn/courses/30/lessons/181852
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(num_list):
answer = []
num_list = sorted(num_list)
answer = num_list[5:]
return answer
좋은코드:
def solution(num_list):
return sorted(num_list)[5:]
문제: 전국 대회 선발 고사
https://school.programmers.co.kr/learn/courses/30/lessons/181851
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(rank, attendance):
answer = 0
list = []
for i in range(len(rank)):
if attendance[i] == True:
list.append([rank[i],i])
list = sorted(list)
# print(list[0][1], list[1][1], list[2][1])
answer = 10000*list[0][1] + 100*list[1][1] +list[2][1]
return answer
좋은코드:
def solution(rank, attendance):
arr = sorted([(x, i) for i, x in enumerate(rank) if attendance[i]])
return arr[0][1] * 10000 + arr[1][1] * 100 + arr[2][1]
def solution(rank, attendance):
selected = []
for i, attend in enumerate(attendance):
if attend:
selected.append((rank[i], i))
selected.sort()
a, b, c = selected[:3]
return 10000 * a[1] + 100 * b[1] + c[1]
🤖 제미나이 코드 :
배열 선언 없이
def solution(rank, attendance):
answer = 0
match_count = 0 # 선발된 학생 수 (총 3명까지)
weight = 10000 # 첫 번째 학생은 10000, 두 번째는 100, 세 번째는 1을 곱하기 위한 가중치
# 1등부터 마지막 등수까지 차례대로 확인합니다.
# rank.index(current_rank)를 하면 해당 등수를 가진 '학생 번호(인덱스)'를 바로 찾을 수 있습니다.
for current_rank in range(1, len(rank) + 1):
# 현재 등수를 가진 학생의 번호(인덱스) 찾기
student_idx = rank.index(current_rank)
# 그 학생이 참석 가능하다면!
if attendance[student_idx]:
# 배열에 넣지 않고, 즉시 계산해서 answer에 더해줍니다.
answer += student_idx * weight
match_count += 1
weight //= 100 # 다음 학생을 위해 가중치를 10000 -> 100 -> 1로 줄입니다.
# 3명을 모두 뽑았다면 더 이상 반복할 필요가 없으므로 종료합니다.
if match_count == 3:
break
return answer
문제: 정수 부분
https://school.programmers.co.kr/learn/courses/30/lessons/181850
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(flo):
return int(flo)
좋은 코드:
def solution(flo):
return flo//1
def solution(flo):
ans=str(flo).split(".")[0]
return int(ans)
import math
def solution(flo):
answer = math.floor(flo)
return answer
문제: 문자열 정수의 합
https://school.programmers.co.kr/learn/courses/30/lessons/181849
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(num_str):
answer = 0
for i in range(len(num_str)):
answer += int(num_str[i])
return answer
좋은 코드:
def solution(num_str):
return sum(map(int, list(num_str)))
solution=lambda s:sum(map(int,s))
def solution(num_str):
return sum([int(i) for i in num_str])
문제: 문자열을 정수로 변환하기
https://school.programmers.co.kr/learn/courses/30/lessons/181848
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(n_str):
return int(n_str)
좋은코드:
solution = lambda x : int(x)'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day23 (0) | 2026.06.17 |
|---|---|
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day22 (0) | 2026.06.15 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day20 (0) | 2026.06.13 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day19 (0) | 2026.06.12 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day18 (1) | 2026.06.11 |