[프로그래머스] 하샤드 수 (📘Lv. 1) (Python)

2023. 2. 22. 00:42·◼ PS Note/프로그래머스
목차
  1. 문제 바로 가기
  2. 풀이 (Python)
  3. 풀이2 (Python) (모범 답안 참고)
반응형

문제 바로 가기

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 


풀이 (Python)

  • 사용 언어 : Python
  • 풀이한 날짜 : 2022-04-07
def solution(x):
    answer = True
    sum_x = 0
    str_x = str(x)
    for elem in str_x:
        sum_x += int(elem)

    if x % sum_x:
        answer = False

    return answer

 

풀이 로직 및 문제 접근 과정

  • 결국 내가 하면 되는 것은 x % (x의 각 자리수의 합) == 0 이 참인가 거짓인가를 밝히는 것 뿐이다. (O(1) 시간 내에 충분히 가능)
  • 그럼 관건은 'x의 각 자리수를 어떻게 분리해서 모두 더할 것인가' 인데,
  • 이건 그냥 x를 문자열로 바꾸면, for문을 통해 x의 각 자리를 다 탐색할 수 있게 되므로 변수 하나 선언해서 모두 더해주면 된다.
    • 물론 더할 때 다시 정수로 형변환 해주어야 한다.

 

느낀점

  • 어떻게 풀 지 1분 고민하고 바로 해결한 문제.
  • 생각보다 프로그래머스 LEVEL 1 문제가 할 만하다는 것을 느끼고 자신감이 붙었다.

 


풀이2 (Python) (모범 답안 참고)

  • 사용 언어 : Python
  • 풀이한 날짜 : 2022-04-07
def Harshad(n):
    # n은 하샤드 수 인가요?
    return n % sum([int(c) for c in str(n)]) == 0

print(Harshad(18))

 

풀이 로직

  • 풀이 로직은 내 첫 풀이와 동일하다. (그럼에도 단 한 줄로만 짰다는 것이 대단한 거지..)

 

느낀점

  • list comprehension을 이용해서 이렇게 한 줄로 짤 수도 있구나.. 싶었다.
  • sum([int(c) for c in str(n)]) ← 이 표현식에 배울 점이 많다.
    • list comprehension과 sum 함수를 통해 '각 자리수의 합' 한 번에 계산하기

 

반응형

'◼ PS Note > 프로그래머스' 카테고리의 다른 글

[프로그래머스] 옹앓이 (1) (📓Lv. 0) (JavaScript)  (0) 2023.01.22
  1. 문제 바로 가기
  2. 풀이 (Python)
  3. 풀이2 (Python) (모범 답안 참고)
'◼ PS Note/프로그래머스' 카테고리의 다른 글
  • [프로그래머스] 옹앓이 (1) (📓Lv. 0) (JavaScript)
SangYoonLee (SYL)
SangYoonLee (SYL)
Slow, But Steady Wins The Race 😎
    반응형
  • SangYoonLee (SYL)
    ◆ Slow, But Steady ◆
    SangYoonLee (SYL)
  • 전체
    오늘
    어제
    • ◻ 전체 글 수 : (133)
      • ✪ 취미, 경험 회고 및 일상 (26)
        • [취미] Room Escape (2)
        • [회고] IT 관련 경험 회고 (18)
        • [일상] 일상 생각 (4)
        • [일상] 독후감 (1)
      • ◼ FrontEnd (31)
        • Web & HTML, CSS (10)
        • JavaScript (4)
        • TypeScript (1)
        • ReactJS (16)
      • ◼ CS (3)
        • 자료구조 & 알고리즘 (1)
        • 컴퓨터 구조 (1)
        • 운영체제 (1)
      • ◼ PS Note (40)
        • 백준 (38)
        • 프로그래머스 (2)
      • ◼ IT Etc. (33)
        • (Until 2021) (21)
        • Python (6)
        • C | C# | C++ (1)
        • Git (1)
        • Unity (4)
        • Game Dev. (0)
  • 블로그 메뉴

    • 홈
    • 💻 GitHub
    • 🟢 Velog
    • 🧩 온라인 방탈출 출시 작품 모음
  • 링크

    • GitHub
  • 공지사항

  • 인기 글

  • 태그

    React
    미궁 게임
    wecode
    코딩 일기
    파이썬
    1929
    소수 구하기
    리엑트
    주간 회고
    프로젝트
    unity
    관심사의 분리
    유니티
    pygame
    위코드
    코드숨
    Cpp
    프로그래머스
    후기
    백준
    Component
    C++
    Python
    CodeSoom
    JavaScript
    개인 프로젝트
    더라비린스
    방탈출고사
    회고
    알고리즘
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
SangYoonLee (SYL)
[프로그래머스] 하샤드 수 (📘Lv. 1) (Python)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.