python_코드카타(2023.03.28)

김수경·2024년 3월 28일

코드카타

목록 보기
29/29

29. 제일 작은 수 제거하기

문제

정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다.

👩🏻‍💻 my coding

  • 리스트의 sort(), remove()
  • 리스트의 메소드를 적용해 변수에 저장이 안된다.
def solution(x) : 
    if len(x) > 1 : 
        x.sort(reverse = True)
        x.remove(x[-1])
        return x 
    elif len(x) <= 1 : 
        result = [-1]
        return result 

테스트는 통과했는데 제출하니 오답이다.
min을 쓰면 된다.

def solution(arr):
    if len(arr) <= 1:
        return [-1]
    else:
        min_val = min(arr)
        arr.remove(min_val)
        return arr

크기순으로 나열해서 remove하는것과 왜 다른지 잘 모르겠다.
해답을 찾아보니 정렬로 배열 순서를 바꾸면 안된다고 한다.
문제 조건에 들어가있으면 좋았을텐데 !


30. 가운데 글자 가져오기

문제

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

👩🏻‍💻 my coding

  • 나머지로 글자수 짝/홀 구하기
  • 2로 나누어 가운데 글자 위치 뽑아내기
def solution(x) : 
    a = int(len(x) / 2 - 0.5)
    if len(x) %2 == 0 : 
        return x[a:a+2]
    else : 
        return x[a]
profile
잘 하고 있는겨?

0개의 댓글