코딩테스트/코딩테스트 Python

[CodeSiganl] missingNumber (Python)

sseozytank 2022. 9. 7.

https://app.codesignal.com/interview-practice/task/PLCrGrJmBxQdj8QKX/description

 

missingNumber | CodeSignal

Press space bar to start a drag. When dragging you can use the arrow keys to move the item around and escape to cancel. Some screen readers may require you to be in focus mode or to use your pass through key

app.codesignal.com

 

✔️문제 요약 

1.연속된 array중 한가지가 빠져있음, 이 한 가지를 return 하는 함수 작성

 

✔️풀이 방법 

1.리스트로 풀이를 생각하다가, math 카테고리에 있는 점을 잘 생각해봤고 합차를 이용해서 구하면 될 것이라는 생각을 했다.

2.단순히 actual_total - missing_total을 했더니, [0] 같은 경우를 고려하지 못해서 

리스트에 0이 포함된 경우랑 안포함된 경우로 나누어서 풀이할 수 있었다. 

def solution(arr):
    actual_total=0
    if 0 not in arr:
        return 0
    else:
        for i in range(min(arr),max(arr)+1):
            actual_total += i
        missing_total=sum(arr)
        if missing_total==actual_total:
            return max(arr)+1
        else:
            return actual_total-missing_total

 

✔️고찰

-엄청 단순한 문제를 복잡하게 푼 것 같기도 한데, 이는 코드 리뷰 시간에 솔루션을 보면서 수정해놔야겠다.

그래도 요 며칠 쉬운 구문을 작성해보며 for문에 대한 이해도가 많이 높아져서 데이터 분석 전처리에도 주도적으로 for문을 작성해서 새 함수를 만들고 할 수 있게 되었다! 

댓글