728x90
def solution(strlist):
    answer = []
    for i in strlist:
        answer.append(len(i))
    return answer
728x90
728x90
def solution(num_list):
    
    return num_list[::-1]
728x90
728x90
def solution(num_list):
    answer = [0,0]
    for n in num_list:
        answer[n%2]+=1
    return answer
728x90
728x90
def solution(array, n):
    answer = array.count(n)
    return answer
728x90
728x90
def solution(slice, n):
    return ((n - 1) // slice) + 1
728x90
728x90

 

def solution(my_str, n):
    return [my_str[i : i+n] for i in range(0, len(my_str),n)]
728x90
728x90
def solution(M, N):
    return (M * N) - 1
728x90
728x90

https://school.programmers.co.kr/learn/courses/30/lessons/120923

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

<나의 답>

def solution(num, total):
    average = total // num
    return [i for i in range(average - (num-1)//2, average + (num + 2)//2)]
  • 연속된 수이기 때문에 평균을 기준으로 좌측, 우측 끝 값만 구하면 된다
  • 좌, 우측 숫자의 개수는 num이 짝수이냐 홀수이냐에 따라 다르기 때문에 왼쪽 끝 값을 구하기 위해서는 num - 1로 하고 우측은 num + 2를 하면 짝수, 홀수를 구분하지 않고 연속적인 리스트를 구할 수 있다

 

<다른 사람 풀이>

def solution(num, total):
    return [(total - (num * (num - 1) // 2)) // num + i for i in range(num)]

이거 진짜 간단하게 풀었음...

728x90

+ Recent posts