문제 링크: https://www.acmicpc.net/problem/1065
백준 함수 3단계 - 1065번 한수를 풀어보았다.
풀이: 두자리수는 모두 한수이고, 세자리수 중 한수를 구하면 된다.
C++
#include <iostream>
using namespace std;
int han(int n)
{
int ret;
if(n<100) // 두자리수는 모두 한수
{
ret=1;
}
else if(((n/100)-((n/10)%10))==(((n/10)%10)-(n%10))) // 세자리수 중 한수 판별
{
ret=1;
}
else
{
ret=0;
}
return ret;
}
int main()
{
int arr[1001]={0,};
int n;
cin>>n;
int count=0;
for(int i=1;i<=n;i++)
{
arr[i]=han(i); // 1이면 한수, 0이면 한수 아님
if(arr[i]!=0) count++; // 한수 개수 세기
}
cout<<count;
}
Python
def han(n):
if(n<100): res=1
elif((int(n/100)-(int(n/10)%10))==((int(n/10)%10)-(n%10))): res=1
else: res=0
return res
n=int(input())
cnt=0
for i in range(1,n+1): # 1부터 n까지 한수의 개수를 센다
if(han(i)==1): cnt+=1
print(cnt)
'코테용 문제풀이 > 백준' 카테고리의 다른 글
숫자의 합 풀이 (0) | 2022.12.31 |
---|---|
아스키 코드 풀이 (0) | 2022.12.31 |
셀프 넘버 풀이 (0) | 2022.12.31 |
정수 N개의 합 풀이 (0) | 2022.12.31 |
평균은 넘겠지 풀이 (0) | 2022.12.31 |