반응형
[문제 설명]
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다.
[문제]
numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
[제한사항]
- 1 ≤ numbers의 길이 ≤ 9
0 ≤ numbers의 모든 원소 ≤ 9
numbers의 모든 원소는 서로 다릅니다.
[입출력 예]
numbers | result |
[1,2,3,4,6,7,8,0] | 14 |
[5,8,4,0,6,7,9] | 6 |
[입출력 설명]
입출력 예 #1
5, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 합니다.
입출력 예 #2
1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 합니다.
[문제풀이]
코딩 배울 때, ( * ) 표시로 트리 만드는 것보다 쉬운 난이도의 문제라고 생각한다. 어떻게 했을 때 코드가 좀 더 이뻐 보이냐의 싸움?
위의 주석처리 한 두 줄은, 미리 0~9까지의 숫자 배열을 만든 뒤 for loop을 도는 방법이고, 실제 실행하는 코드라인은 range를 통해 for loop을 돌도록 구현했다. 아래의 코드가 조금 더 짧고 알아보기 쉬운 것 같아 아래의 방법을 선호한다.
def solution(numbers):
# arr_number = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
# answer = [num for num in arr_number if num not in numbers]
answer = [num for num in range(0,10) if num not in numbers]
return sum(answer)
반응형
'Development > 코딩테스트' 카테고리의 다른 글
코딩테스트 연습 | K번째수 | 정렬 | python (0) | 2022.05.08 |
---|---|
코딩테스트 연습 | 키패드 누르기 | 2020 카카오 인턴쉽 | python (0) | 2022.05.07 |
코딩테스트 연습 | 숫자 문자열과 영단어 | 2021 카카오 채용연계형 인턴십 | python (0) | 2022.05.05 |
코딩테스트 연습 | 로또의 최고 순위와 최저 순위 | 2021 Dev-Matching: 웹 백엔드 개발자(상반기) | Python (0) | 2022.05.04 |
코딩테스트 연습 | 신고 결과 받기 | 2022 KAKAO BLIND RECRUITMENT | Python (0) | 2022.05.03 |