BOJ 4673번: 셀프 넘버

2023. 9. 13. 23:57· 알고리즘💻/Bruteforce&Backtracking

https://www.acmicpc.net/problem/4673

 

4673번: 셀프 넘버

셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때,

www.acmicpc.net

처음에는 정말 단순하게 이중 for문을 사용해서 생성자가 있는지 없는지 체크하는 방식으로 아래와 같이 코드를 작성했다.

for i in range(1, 10001):
    flag = True
    for j in range(1, i):
        num = j
        for k in str(j):
            num += int(k)
        if (num == i):
            flag = False
            break
    if (flag == True): print(i)

위 코드는 python으로 제출하면 시간초과가 났고, pypy3로 제출하니 통과가 되었다. 하지만 다른 분들의 풀이를 보니... 내가 너무 시간복잡도를 생각하지 않고 무식하게 풀었다는 생각이 들었다. 저렇게 풀어버리면 불필요한 반복된 연산이 너무 많아진다. 뇌가 너무 멍청해진 것 같다.

 

그래서 다시 푼 방법은 먼저 1부터 10000까지 수로 만들 수 있는 d(n)을 쫙 계산한 후에 거기에 없는 숫자만 출력을 하는 방법이다.

nums = [x for x in range(1, 10001)]

for i in range(1, 10001):
    dn = i
    for j in str(i):
        dn += int(j)
    if (dn in nums):
        nums.remove(dn)
    
for i in nums:
    print(i)

처음 제출한 코드 삭제하고 싶다 너무 멍청해!

저작자표시 (새창열림)

'알고리즘💻 > Bruteforce&Backtracking' 카테고리의 다른 글

BOJ 15811번: 복면산?!  (0) 2021.07.28
BOJ 2026번: 소풍  (0) 2021.07.27
BOJ 2239번: 스도쿠  (0) 2021.07.25
BOJ 1182번: 부분수열의 합  (0) 2021.07.25
BOJ 14889번: 스타트와 링크  (0) 2021.07.25
'알고리즘💻/Bruteforce&Backtracking' 카테고리의 다른 글
  • BOJ 15811번: 복면산?!
  • BOJ 2026번: 소풍
  • BOJ 2239번: 스도쿠
  • BOJ 1182번: 부분수열의 합
호프
호프
호프
Untitled
호프
전체
오늘
어제
  • 분류 전체보기 (341)
    • 오류😬 (4)
    • 스터디📖 (96)
      • 웹 개발 기초 (8)
      • Spring (20)
      • ML, DL (30)
      • Node.js (22)
      • React (0)
      • 블록체인 (12)
      • Go (3)
      • Javascript (1)
    • 알고리즘💻 (153)
      • 그리디 (23)
      • Bruteforce&Backtracking (16)
      • DP (17)
      • 이분탐색&정렬&분할정복 (17)
      • 누적합&투포인터 (6)
      • 스택&큐&덱 (19)
      • 그래프(DFS&BFS) (19)
      • 트리 (7)
      • 우선순위큐&다익스트라 (11)
      • 벨만포드&플로이드와샬 (8)
      • map&set&number theory (5)
      • 기타 (5)
    • 프로젝트 (3)
      • 캡스톤 디자인 프로젝트 (3)
    • 블록체인🔗 (3)
      • Solana (2)
      • 개발 (0)
      • Harmony (1)
    • ASC (6)
    • CS (73)
      • 데이터베이스 (12)
      • 클라우드컴퓨팅 (21)
      • 운영체제 (11)
      • 컴퓨터네트워크 (14)
      • 블록체인응용 (15)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 복습

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.2.1
호프
BOJ 4673번: 셀프 넘버
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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