유니티3D 프로그래밍
백준 단계별로 풀어보기 : 1065번 문제 (한수) 본문
https://www.acmicpc.net/problem/1065
1065번: 한수
어떤 양의 정수 X의 각 자리가 등차수열을 이룬다면, 그 수를 한수라고 한다. 등차수열은 연속된 두 개의 수의 차이가 일정한 수열을 말한다. N이 주어졌을 때, 1보다 크거나 같고, N보다 작거나
www.acmicpc.net
3자리수 까지만이라는 것을 못보고 그냥 자릿수 상관 없이 판별하는 방식을 코딩했다.
작동 방식은 Sequence라는 곳에서 입력한 숫자의 배열을 선언하고 입력한 수가 0~9 까지면 sumList의 크기를 1칸으로 설정하고 10부터는 두 수를 합한 값의 개수만큼 배열의 크기가 되어야 하므로 10의 자릿수는 1의 크기, 100의 자리수는 2의 크기를 가지는 배열로 설정한다.
첫 번째 for문에서는 두 수를 뺀 값을 sumList에 저장을 한다.
두 번째 for문에서는 sumList안에 있는 값들을 비교해서 값이 같으면 count값을 올려주고 return을 통해 돌려준다.
sumList의 값을 비교 할 때 연속되어 있는 값이 다른 순간 그 값은 한수가 아니므로 break를 통해 바로 종료시켜준다.
즉, count값이 0이면 한수가 아니고 count 값이 1이면 한수다.
count 값을 sumCount라는 곳에 반복문 횟수만큼 더해주고 출력하면 성공.
'Python > 백준' 카테고리의 다른 글
백준 단계별로 풀어보기 : 11720번 문제 (숫자의 합) (0) | 2021.09.13 |
---|---|
백준 단계별로 풀어보기 : 11654번 문제 (아스키 코드) (0) | 2021.09.13 |
백준 단계별로 풀어보기 : 4673번 문제 (셀프 넘버) (0) | 2021.09.10 |
백준 단계별로 풀어보기 : 15596번 문제 (정수 N개의 합) (0) | 2021.09.09 |
백준 단계별로 풀어보기 : 4344번 문제 (평균은 넘겠지) (0) | 2021.09.09 |