1. 백준 1065 - 한수
-각 자릿수 구하는 방법
백의 자리 = num / 100
십의 자리 = (num / 10) % 10
일의 자리 = num % 10
Java - 212ms
import java.util.Scanner;
public class b1065 {
public static boolean isSeq(int num) {
int first = num / 100;
int mid = (num / 10) % 10;
int last = num % 10;
if ((first - mid) == (mid - last))
return true;
return false;
}
public static int counting(int num) {
int count = 0;
if (num < 100) return num;
else {
count = 99;
if (num == 1000) num = 999;
for(int nums = 100; nums <= num; nums++) {
if(isSeq(nums)) count++;
}
}
return count;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println(counting(num));;
}
}
C- 0ms 속도 훨씬 빠름
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
bool isSequence(int num) {
int hund = num / 100;
int mid = (num / 10) % 10;
int last = num % 10;
if ((hund - mid) == (mid - last))
return true;
return false;
}
int count(int num) {
int count = 0;
if (num < 100) return num;
else {
count = 99;
if (num == 1000) num == 999;
for (int n = 100; n <= num; n++) {
if (isSequence(n)) count++;
}
}
return count;
}
int main(void) {
int num;
scanf("%d", &num);
printf("%d", count(num));
}
'Problems & Solutions' 카테고리의 다른 글
11441 합 구하기 (0) | 2022.07.26 |
---|---|
1058 친구 (0) | 2022.07.25 |
1244 스위치 켜고 끄기 (0) | 2022.07.25 |
23881 알고리즘 수업 - 선택 정렬 1 (0) | 2022.07.02 |
[1월 15일] 선택정렬 & 문자열 카운트,문자 포함 여부,단어 개수,상수,StringTokenizer,StringBuilder (0) | 2022.01.15 |