
각 숫자에 대해 HashSet을 사용하여 자릿수별로 중복 여부를 판별했다.
시간복잡도: O(M-N), 공간복잡도: O(M-N)
import java.util.*;
import java.io.*;
class Main {
public static void main (String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
String line;
while ((line = br.readLine()) != null){
st = new StringTokenizer(line);
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int count = 0;
for(int i=n;i<=m;i++){
HashSet <Integer> hs = new HashSet<>();
boolean check = true;
int temp = i;
while(temp>0){
int num = temp%10;
if(hs.contains(num)){
check = false;
break;
}else{
hs.add(num);
temp/=10;
}
}
if(check) count++;
}
sb.append(count).append("\n");
}
System.out.print(sb);
}
}
