[Python] 프로그래머스 Lv0 - 9

구준희·2023년 8월 16일
0

알고리즘

목록 보기
12/31
post-thumbnail
  1. 배열의 길이를 2 거듭제곱으로 만들기
def solution(arr):
    i=0
    while True:
        a = 2 ** i
        if a == len(arr):
            break
        elif a < len(arr):
            i += 1
        elif a> len(arr):
            for i in range(a-len(arr)):
                arr.append(0)
            break
    return arr
  1. 배열 비교하기
def solution(arr1, arr2):
    if len(arr1)> len(arr2):
        return 1
    elif len(arr1) < len(arr2):
        return -1
    elif len(arr1) == len(arr2):
        if sum(arr1) > sum(arr2):
            return 1
        elif sum(arr1) < sum(arr2):
            return -1
        elif sum(arr1) == sum(arr2):
            return 0
  1. 문자열 묶기

set() : 중복값 없애기
count : set에 있는 원소들이 각각 몇개있는지 세는거

#예시
a = [1,2,3,2,1,1,2]
for i in set(a):
	print(a.count(i))
#결과
#3 3 1
def solution(strArr):
    arr= []
    answer = []
    for i in strArr:
        arr.append(len(i))
    for i in set(arr):
        answer.append(arr.count(i))
    return max(answer)
  1. 배열의 길이에 따라 다른 연산하기
def solution(arr, n):
    if len(arr) % 2 == 0:
        for i in range(1,len(arr),2):
            arr[i]+= n
    else:
        for i in range(0,len(arr),2):
            arr[i]+= n
    return arr
  1. 뒤에서 5등까지
def solution(num_list):
    num_list.sort()
    return num_list[0:5]
  1. 뒤에서 5등 위로
def solution(num_list):
    return sorted(num_list)[5::]
profile
꾸준히합니다.

0개의 댓글