문제 : 홀수 vs 짝수
https://school.programmers.co.kr/learn/courses/30/lessons/181887
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드 :
- 참일_경우_값 if 조건 else 거짓일_경우_값
def solution(num_list):
a, b = 0, 0
for i in range(len(num_list)):
if i%2 == 0:
a += num_list[i]
else:
b += num_list[i]
return (a if a>b else b)
좋은 코드:
def solution(num_list):
return max(sum(num_list[::2]), sum(num_list[1::2]))
문제 : 5명씩
https://school.programmers.co.kr/learn/courses/30/lessons/181886
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드 :
def solution(names):
answer = []
for i in range(len(names)):
if i%5 == 0:
answer.append(names[i])
return answer
좋은 코드:
def solution(names):
return names[::5]
def solution(names):
answer1 = names[:1]
answer2 = names[5:6]
answer3 = names[10:11]
answer4 = names[15:16]
answer5 = names[20:21]
answer6 = names[25:26]
answer7 = names[30:31]
answer = answer1 +answer2+answer3+answer4+answer5+answer6+answer7
return answer
문제 : 할 일 목록
https://school.programmers.co.kr/learn/courses/30/lessons/181885
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(todo_list, finished):
answer = []
for i in range(len(todo_list)):
if finished[i] == False:
answer.append(todo_list[i])
return answer
좋은 코드:
def solution(todo_list, finished):
return [work for idx, work in enumerate(todo_list) if not finished[idx]]
def solution(todo_list, finished):
return [x for x, b in zip(todo_list, finished) if not b]
문제 : n보다 커질 때까지 더하기
https://school.programmers.co.kr/learn/courses/30/lessons/181884
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(numbers, n):
answer = 0
i = 0
while answer <= n:
answer += numbers[i]
i += 1
return answer
* 참고 : i를 선언하면 변수가 메모리에 하나 더 만들어져서 for문이 좋다는 의견이 있지만, for문을 써도 동적 메모리 할당이 되니, 가독성 측명으로 for문이 더 좋다는 대댓글이 있었다.
좋은 코드:
def solution(numbers, n):
return next(sum(numbers[:i + 1]) for i in range(len(numbers)) if sum(numbers[:i + 1]) > n)
문제 : 수열과 구간 쿼리1
https://school.programmers.co.kr/learn/courses/30/lessons/181883
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
- 🤖 문제의 규칙
쿼리가 [s, e]로 주어지면, arr의 인덱스가 s 이상 e 이하인 자리에 있는 숫자들을 전부 1씩 더하라는 뜻입니다.
입출력 예시 진행 과정 (arr = [0, 1, 2, 3, 4])
첫 번째 쿼리 [0, 1]인덱스 0부터 1까지의 값을 1씩 더합니다.arr[0]과 arr[1]의 값이 변경됩니다.결과: [1, 2, 2, 3, 4]
def solution(arr, queries):
answer = arr
for i in range(len(queries)):
for j in range(queries[i][0],queries[i][1]+1):
answer[j] += 1
return answer
좋은 코드 :
def solution(arr, queries):
for (s, e) in queries:
arr = [a+1 if s <= i <= e else a for i, a in enumerate(arr)]
return arr
def solution(arr, queries):
for l,r in queries:
for i in range(l,r+1): arr[i]+=1
return arr'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day16 (0) | 2026.06.09 |
|---|---|
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day15 (0) | 2026.06.08 |
| 프로그래머스 코딩 기초 트레이닝 Day13 (0) | 2026.06.06 |
| 프로그래머스 코딩 기초 트레이닝 Day12 (0) | 2026.06.05 |
| 프로그래머스 코딩 기초 트레이닝 Day11 (0) | 2026.06.04 |