프로그래머스 문제풀이(2)
1. 양꼬치
def solution(n, k):
if n > 9:
return 12000*n-((n//10)*2000) + k*2000
else :
return 12000*n + k*2000
2. 배열의 평균값
def solution(numbers):
return sum(numbers)/len(numbers)
# 다른 풀이
import numpy as np
def solution(numbers):
return np.mean(numbers)
3. 머쓱이보다 키 큰 사람
def solution(array, height):
x = 0
for i in array:
if i > height:
x += 1
return x
# 다른 풀이
def solution(array, height):
array.append(height)
array.sort(reverse=True)
return array.index(height)
4. 중복된 숫자 개수
def solution(array, n):
x = 0
for i in array:
if i == n:
x+=1
return x
# 다른 풀이
def solution(array, n):
return array.count(n)
5. 배열뒤집기
def solution(num_list):
l = []
for i in num_list:
l.insert(0, i)
return l
# 다른풀이
def solution(num_list):
return num_list[::-1]
6. 문자열 뒤집기
def solution(my_string):
return my_string[::-1]
7. 피자 나눠먹기(1)
def solution(n):
if n % 7 == 0:
return n//7
else:
return n//7 + 1
# 다른 풀이
def solution(n):
return (n - 1) // 7 + 1
8. 짝수 홀수 개수
def solution(num_list):
x = 0
y = 0
for i in num_list:
if i % 2 !=0:
x = x + 1
else:
y = y + 1
final_list = [y, x]
return final_list
# 다른 풀이
def solution(num_list):
answer = [0,0]
for n in num_list:
answer[n%2]+=1
return answer
9. 배열 원소의 길이
def solution(strlist):
final_list = []
for i in strlist:
final_list.append(len(i))
return final_list
10. 배열 자르기
def solution(numbers, num1, num2):
return numbers[num1:num2+1]
후기
레벨 0단계에서 정답률이 상위 20개인 목록 중 10개를 풀어봤다. 생각보다 수월하게 풀린 문제들이 있지만 전체적으로 고민을 어느 정도 해야하고 어떤 문제는 내 의도대로 풀리지 않아 조금 돌아가는 코드를 작성하였다. 시간이 날 때마다 틈틈히 문제를 풀면서 코딩 알고리즘 역량을 키워야겠다는 생각이 든다.