문제 : 수열과 구간 쿼리 4
https://school.programmers.co.kr/learn/courses/30/lessons/181922
코딩테스트 연습 - 수열과 구간 쿼리 4
알고리즘 문제 연습 카카오톡 친구해요! 프로그래머스 교육 카카오 채널을 만들었어요. 여기를 눌러, 친구 추가를 해주세요. 신규 교육 과정 소식은 물론 다양한 이벤트 소식을 가장 먼저 알려
school.programmers.co.kr
내 코드
#제미나이 - 문제를 이해하지 못해서 내가 이해한대로 설명 후 확인
def solution(arr, queries):
answer = arr
for i in range(len(queries)) :
for j in range(queries[i][0], queries[i][1]+1):
if j%queries[i][2] == 0 :
answer[j] += 1
return answer
좋은 코드
def solution(arr, queries):
for s, e, k in queries:
for i in range(s, e+1):
if i%k == 0:
arr[i] += 1
return arr
문제 : 배열 만들기2
https://school.programmers.co.kr/learn/courses/30/lessons/181921
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드
def solution(l, r):
answer = []
for i in range(l,r+1) :
check = 1
for j in str(i) :
#제미나이 - 조건문이 or이 아니라 and임을 확인
if j != '5' and j != '0' :
check = 0
break
if check == 1 :
answer.append(int(i))
if len(answer) == 0 :
answer.append(-1)
return answer
좋은 코드
#시간이 적게 든다
def solution(l, r):
answer = []
n = [5,50,55,500,505,550,555,5000,5005,5050,5055,5500,5505,5550,5555,50000,50005,50050,50055,50500,50505,50550,50555,55000,55005,55050,55055,55500,55505,55550,55555,500000,500005,500050,500055,500500,500505,500550,500555,505000,505005,505050,505055,505500,505505,505550,505555,550000,550005,550050,550055,550500,550505,550550,550555,555000,555005,555050,555055,555500,555505,555550,555555]
for i in n:
if i >= l and i <= r:
answer.append(i)
if answer == []:
answer.append(-1)
return answer
문제 : 카운트 업
https://school.programmers.co.kr/learn/courses/30/lessons/181920
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드
def solution(start_num, end_num):
answer = []
for i in range(start_num, end_num+1) :
answer.append(i)
return answer
좋은 코드
def solution(start, end):
return list(range(start, end + 1))
def solution(start, end):
return [i for i in range(start,end+1)]
문제 : 콜라츠 수열 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/181919
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드
def solution(n):
answer = []
answer.append(n)
while True :
if n%2 == 0 :
answer.append(n/2)
n = n/2
else :
answer.append(3*n+1)
n = 3*n+1
if n == 1 : break
return answer
좋은 코드
def solution(n):
answer = [n]
while n > 1:
if n % 2 == 0:
n //= 2
else:
n = 3 * n + 1
answer.append(n)
return answer
문제 : 배열 만들기 4
https://school.programmers.co.kr/learn/courses/30/lessons/181918
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드 :
def solution(arr):
stk = []
i = 0
while True :
if len(stk) == 0 :
stk.append(arr[i])
i += 1
else :
if stk[-1] < arr[i] :
stk.append(arr[i])
i += 1
else :
stk.pop()
#제미나이 도움 - 언제 while 문을 끝내야할지 헷갈렸다
#while true & 조건문 걸기보단 처음부터 while i < len(arr) 를 했으면 됐다
if i >= len(arr):
break
return stk
좋은 코드
def solution(arr):
stk = []
for i in range(len(arr)):
while stk and stk[-1] >= arr[i]:
stk.pop()
stk.append(arr[i])
return stk'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 프로그래머스 코딩 기초 트레이닝 Day12 (0) | 2026.06.05 |
|---|---|
| 프로그래머스 코딩 기초 트레이닝 Day11 (0) | 2026.06.04 |
| 프로그래머스 코딩 기초 트레이닝 Day10 (0) | 2026.05.29 |
| 프로그래머스 코딩 기초 트레이닝 Day9 (0) | 2026.05.28 |
| 프로그래머스 코딩 기초 트레이닝 Day8 (0) | 2026.05.23 |