1926 간단한 369게임 (D2)
각 자리수마다 10으로 나눠저서 몫이 0일 때까지 반복하면 자리수를 구할 수 있다.
ex) 245/10 = 24, 245%10 = 5 (일의자리수 추출)), 24/10 = 2, 24%10 = 4(십의자리수 추출) -> 2/10 = 0, 2%10 = 2(백의자리수 추출))
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.Scanner;
import java.util.Stack;
import java.util.StringTokenizer;
public class Solution {
public static void main(String args[]) throws Exception{
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(bf.readLine());
int i;
int obj; // 나누는 대상
int mok; //몫
int r; // 나머지 값
boolean flag; //true면 3,6,9가 하나라도 있다.
for(i = 1; i <= N; i ++) {
obj = i;
flag = false;
do
{
r = obj%10;
if(r == 3 || r == 6 || r == 9)
{
flag = true;
System.out.print("-");
}
mok = obj/10;
obj = mok;
}while(mok!=0);
if(flag == true) {
System.out.print(" ");
continue;
}
System.out.print(String.format("%d ", i));
//
}
};
}
참고자료
SWE selfStudyBook(3)
https://github.com/Karmantez/SWExpertAcademy/blob/master/1232%EC%82%AC%EC%B9%99%EC%97%B0%EC%82%B0/src/Solution.java
https://tallman.tistory.com/10