[프로그래머스 Lv.1] 없는 숫자 더하기

2025. 1. 20. 15:49 · Algorithm/코딩 테스트

문제
https://school.programmers.co.kr/learn/courses/30/lessons/86051


📔 문제

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, 9가 numbers에 없으므로, 5 + 9 = 14를 return 해야 한다.
[5,8,4,0,6,7,9] 6 1, 2, 3이 numbers에 없으므로, 1 + 2 + 3 = 6을 return 해야 한다.

 


🧮 알고리즘 분류

  • 조건문
  • 반복문

📃 소스 코드

def solution(numbers):
    ans = []
    for i in range(0,10,1): # 1 스텝씩 증가하도록 
        if i in numbers:
            pass
        else:
            ans.append(i) # ans 리스트에 num 추가
    answer = sum(ans)
    return answer
  • solution 이라는 이름의 함수를 정의하며, 하나의 인자 numbers를 입력받는다.
  • 비어있는 ans 리스트를 생성하여, 0~9까지의 숫자 중 numbers에 포함되지 않는 숫자들을 저장하기 위해 사용한다.
  • range(0, 10, 1)은 0부터 9까지의 숫자를 1씩 증가하며 생성한다.
  • for 루프를 사용해 이 숫자들을 하나씩 변수 i에 할당하면서 반복한다.
  • 현재 반복 중인 숫자 i가 numbers 리스트에 포함되어 있는지 확인하고 만약 i가 numbers에 포함되어 있다면 True / False를 반환한다.
  • if 조건이 True일 때 pass를 실행한다. pass는 아무 작업도 수행하지 않는 명령어로, 여기서는 단순히 다음 반복으로 넘어간다.
  • if 조건이 False, 현재 숫자 i가 numbers에 포함되지 않은 경우 실행되며, ans.append(i)는 ans 리스트에 현재 숫자 i를 추가합니다.

📃 그 외 코드

def solution(numbers):
    return 45 - sum(numbers)
solution = lambda x: sum(range(10)) - sum(x)

 

위 두개의 코드는 

0부터 9까지의 합이 45가 된다는 것을 이용했다.

numbers 리스트에 포함된 숫자의 합이 31일 때, 빠진 숫자들의 합은 14이라는 값이 나온다. 그러면 5와 9가 빠졌다는 것을 알아낼 수 있다는 점을 이용했다.

728x90

'Algorithm > 코딩 테스트' 카테고리의 다른 글

그리디 코테 파이썬 문제  (1) 2025.01.26
[프로그래머스 Lv.1] 같은 숫자는 싫어  (1) 2025.01.21
'Algorithm/코딩 테스트' 카테고리의 다른 글
  • 그리디 코테 파이썬 문제
  • [프로그래머스 Lv.1] 같은 숫자는 싫어
따`ddah
따`ddah
    250x250
  • 따`ddah
    IT's ddah
    따`ddah
  • 관리    글쓰기
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Projects
        • Auto Post : SNS 자동 업로더
      • kmooc
        • 기계 학습 기반의 데이터 공학
      • Algorithm
        • [C] Do it! 자료구조와 함께 배우는 알고리..
        • 알고리즘 스터디
        • 코딩 테스트
      • Basic
        • 운영체제 OS
        • 컴퓨터구조
        • 소프트웨어공학 (UML)
      • DBMS
        • 데이터베이스 이론
        • MySQL
        • Oracle SQL
        • BigQuery
        • Yammer
      • Programming
        • Python
        • C
        • Java
        • React
        • JavaScript
        • R
      • 빅데이터
      • AI
        • 멀티미디어응용
        • 머신러닝
        • 인공지능
      • 자격증
        • Azure DP-900
        • Azure AI-900
        • SQLD
        • CSTS
      • 대외활동 및 인턴
        • 인턴
        • LG Aimers
        • Outta
        • 빅데이터 분석 학회 BDA
        • 세계시민교육연구소 청년단 GYIA
      • Tool
        • Git
        • IDE
      • 도서
        • IT
      • 그 외
        • 단축키
        • ✞
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    이름나이
    sql
    Oracle
    파이썬{}
    대학생학회
    자료형
    AI역량검사
    오블완
    javascript
    주석
    importturtle
    파이썬 챗봇 만들기
    빅데이터분석
    리액트
    취업
    오라클SQL
    대외활동
    자바스크립트
    react
    티스토리챌린지
    파이썬
    Py
    js
    print(f"")
    python
    jsx
    취업준비
    dbms
    BDA학회
    input
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
따`ddah
[프로그래머스 Lv.1] 없는 숫자 더하기
상단으로

티스토리툴바