🔒 문제
https://programmers.co.kr/learn/courses/30/lessons/86051
코딩테스트 연습 - 없는 숫자 더하기
0부터 9까지의 숫자 중 일부가 들어있는 정수 배열 numbers가 매개변수로 주어집니다. numbers에서 찾을 수 없는 0부터 9까지의 숫자를 모두 찾아 더한 수를 return 하도록 solution 함수를 완성해주세요.
programmers.co.kr
문제 설명
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 해야 합니다.
🔓 풀이
🔑 요구사항 파악
1. 요구사항 : 주어지는 list에 없는 0~9까지 수를 모두 더한 숫자를 리턴
2. Type
- Input | numbers: list[int]
- Output | answer: int
🔑 문제 정의
1. list에 없는 숫자 찾기
🔑 문제 해결 방법 고민하기
1. list에 없는 숫자 찾기
- 0~9까지 다 더하면 45
- 45에서 numbers 원소를 순서대로 빼면 남은 수가 없는 수를 다 더한 숫자
<고민의 흔적>
🔑 문제 해결 / 코드
numbers = [5,8,4,0,6,7,9] # 제출시 삭제
def solution(numbers):
answer = 45
for number in numbers:
answer -= number
return answer
print(solution(numbers)) # 제출시 삭제
💉 피드백
오늘은 너무 쉬운 문제가 걸려서 금방 풀었지만 여기서도 배울점은 있었다.
일단 문제를 풀기위한 여러 방법중에 0~9까지 정수를 모두 더한 45에서 빼는 방법을 선택한건 효율적인 선택이었지만 list의 원소를 모두 더하는 sum() 함수를 사용하면 for 반목문을 사용할 필요없이 간결한 코드가 완성된다.
아직 파이썬 함수 활용력이 떨어지는건 어쩔 수 없는건가,,
코딩 공부를 시작한지 4개월차니 조급함을 가지진 말고 꾸준히 공부하면서 경험을 쌓아야겠다.
numbers = [5,8,4,0,6,7,9]
def solution(numbers):
answer = 45
return answer - sum(numbers)
print(solution(numbers))
📌 도전 과제
python 언어를 주특기로 삼은 만큼 내장함수 공부를 열심히 하자!
'알고리즘' 카테고리의 다른 글
[프로그래머스] 내적 (0) | 2022.04.27 |
---|---|
[프로그래머스] 음양 더하기 (0) | 2022.04.26 |
[프로그래머스] 크레인 인형뽑기 게임 (0) | 2022.04.23 |
[프로그래머스] 키패드 누르기 (0) | 2022.04.22 |
[프로그래머스] 숫자 문자열과 영단어 (0) | 2022.04.22 |