문제 : 배열의 길이를 2의 거듭제곱으로 만들기
https://school.programmers.co.kr/learn/courses/30/lessons/181857
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
2의 거듭제곱은
def is_power_of_two(n): # n이 0보다 크고, n과 n-1의 비트 AND 연산 결과가 0인지 확인
return n > 0 and (n & (n - 1)) == 0
answer.append(0) * a 대신
answer = answer + ([0] * a)
def solution(arr):
answer = arr
a = 1
if not(len(arr) > 0 and (len(arr) & (len(arr)-1)) == 0) :
for i in range(10):
if len(arr) == 1:
answer.append(0)
return answer
elif len(arr) > a:
a = a *2
a = a - len(arr)
answer = answer + ([0] * a)
return answer
좋은코드:
def solution(arr):
a = 1
b = len(arr)
while a < b :
a *= 2
return arr + [0] * (a-b)
내가 너무 어렵게 생각했던 것 같다
def solution(arr):
n = len(arr)
if n & (n - 1) == 0:
return arr
m = 1
while m < n:
m <<= 1
return arr + [0] * (m - n)
문제: 배열 비교하기
https://school.programmers.co.kr/learn/courses/30/lessons/181856
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
배열 안에서 원소들의 합
sum(arr)
def solution(arr1, arr2):
if len(arr1) < len(arr2) :
return -1
elif len(arr1) > len(arr2):
return 1
else:
if sum(arr1) > sum(arr2):
return 1
elif sum(arr1) < sum(arr2):
return -1
else:
return 0
좋은 코드:
def solution(arr1, arr2):
return (len(arr1) > len(arr2)) - (len(arr2) > len(arr1)) or (sum(arr1) > sum(arr2)) - (sum(arr2) > sum(arr1))
문제 : 문자열 묶기
https://school.programmers.co.kr/learn/courses/30/lessons/181855
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
제미나이 힌트:
최대 문자열의 길이가 30까지이니, 0부터30, 즉 31 길이의 배열을 만들고 각 자리에
해당 길이가 나올 때마다 +1
def solution(strArr):
answer = 0
arr = [0] * 31
for i in range(len(strArr)):
arr[len(strArr[i])] += 1
answer = max(arr)
return answer
좋은 코드:
def solution(strArr):
a=[0]*31
for x in strArr: a[len(x)]+=1
return max(a)
def solution(strArr):
d = {}
for i in strArr:
d[len(i)] = d.get(len(i), 0) + 1
return max(d.values())
def solution(strArr):
w_len = [0 for _ in range(31)]
for w in strArr:
w_len[len(w)] += 1
return max(w_len)
문제: 배열의 길이에 따라 다른 연산하기
https://school.programmers.co.kr/learn/courses/30/lessons/181854
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내 코드:
def solution(arr, n):
if len(arr)%2 == 0:
for i in range(len(arr)):
if i%2 != 0:
arr[i] += n
else:
for i in range(len(arr)):
if i%2 == 0:
arr[i] += n
return arr
좋은 코드:
def solution(arr, n):
N=len(arr)
if N%2:
for i in range(0,N,2): arr[i]+=n
else:
for i in range(1,N,2): arr[i]+=n
return arr
문제: 뒤에서 5등까지
https://school.programmers.co.kr/learn/courses/30/lessons/181853
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
내코드:
def solution(num_list):
answer = sorted(num_list)[:5]
return answer
'카테부 4기 판교 ai 실무 > 코테 공부' 카테고리의 다른 글
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day22 (0) | 2026.06.15 |
|---|---|
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day21 (0) | 2026.06.15 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day19 (0) | 2026.06.12 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day18 (1) | 2026.06.11 |
| 카테부 4기 판교 ai 실무프로그래머스 코딩 기초 트레이닝 Day17 (0) | 2026.06.10 |