[백준 1065][파이썬] 한수

2023. 1. 16. 12:00·백준 알고리즘
728x90

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

 

1065번: 한수

어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나

www.acmicpc.net

 

cnt라는 변수를 만들고 반복문으로 1부터 입력받은 값까지 한수가 있으면 cnt 값을 1씩 증가시키면 된다.

 

한수가 되기 위해서는 연속된 값의 차이를 모두 조사해서 조사한 값들이 모두 같아야 한다.

 

연속된 값의 차이를 구하기 위해서 해당 숫자의 각 자릿수를 모두 리스트의 요소로 만들어주면 쉽게 구할 수 있다.

 

s=list(map(int, str(n)))​
 
 
그리고 연속된 값의 차이가 모두 같은지 확인하기 위해서 파이썬의 set(집합)을 사용했다.
 
집합은 중복된 값을 허용하지 않으므로 모든 연속된 값의 차이를 set에 넣고 set의 길이가 1이라면 모두 같다는 것을 의미한다.
cnt=0
def hans(n):
    global cnt #전역 변수 선언
    s=list(map(int, str(n)))
    if len(s)<=2: #두 자리수, 한 자리수는 모두 한수
        cnt+=1
        return 0
    se=set()
    for i in range(len(s)-1):
        se.add(s[i+1]-s[i]) #일단 집합에 공차를 모두 넣기
    if len(se)==1: #집합의 특성 상 중복이 존재하지 않으므로 길이가 1이면 공차가 모두 같음
        cnt+=1

n=int(input())
for i in range(1,n+1):
    hans(i)
print(cnt)
 

 

728x90

'백준 알고리즘' 카테고리의 다른 글

[백준 2231][파이썬] 분해 합  (0) 2023.02.09
[백준 25682][파이썬] 체스판 다시 칠하기  (0) 2023.01.28
[백준 9020][파이썬] 골드바흐의 추측 소수 판별 (에라토스테네스의 체)  (0) 2023.01.26
[백준 2563][파이썬] 색종이. 이차원 배열  (0) 2023.01.25
[백준 10828][파이썬] 파이썬 스택 사용법  (0) 2023.01.21
'백준 알고리즘' 카테고리의 다른 글
  • [백준 25682][파이썬] 체스판 다시 칠하기
  • [백준 9020][파이썬] 골드바흐의 추측 소수 판별 (에라토스테네스의 체)
  • [백준 2563][파이썬] 색종이. 이차원 배열
  • [백준 10828][파이썬] 파이썬 스택 사용법
웅대
웅대
알고리즘과 백엔드를 중심으로 열심히 공부 중입니다! 같이 소통하며 공부해요!
    250x250
  • 웅대
    웅대 개발 블로그
    웅대
  • 전체
    오늘
    어제
    • 분류 전체보기
      • 백준 알고리즘
        • dp
        • 문자열
        • 정렬
        • 스택
        • 브루트 포스
        • 이진 탐색
        • 정리
        • 우선순위 큐
        • 자료구조
        • 그래프
        • 기타
        • 그리디
      • 컴퓨터 언어
        • Kotlin
        • Python
        • C#
      • 공부
        • Database
        • Android Studio
        • Algorithm
        • 컴퓨터 구조론
        • Spring
        • lombok
        • AWS
        • Network
        • OS
        • Git & GitHub
        • AI
        • Computer Vision
        • 보안
        • Nginx
        • 프론트
        • express
        • GCP
        • grokking concurrency
        • DevOps
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

    RNN
    nn.RNN
    다익스트라
    openvidu 배포
    스프링 OAuth2
    binary search
    code tree
    AWS Lambda
    파이썬
    embedding
    codetree
    Vector Store
    스택
    bfs
    ci/cd
    parametric search
    ChatPromptTemplate
    influxDB CLI
    푸쉬 알람
    Merge
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
웅대
[백준 1065][파이썬] 한수
상단으로

티스토리툴바