JavaPool(기초 로직연습)
숫자 두 개로 각각 다른 숫자 만들어보기(00 01,00 02, 00 03, 00 04, 00 05,...,01 99, 02 03, ..., 98 99)
Ms.Pudding
2022. 1. 30. 23:51
00 01 부터 98 99까지 만드는 코딩이다. 01 01 02 02 99 99 이런식으로 중복으로 나오면 안된다.
public class My_print_comb{
public static void main(String[] args){
my_print_comb();
}
}
public static void my_print_comb(){
for(int i=0;i<=99;i++){
for(int j=i+1;j<=99;j++){
if(j>i){
String formatted = String.format("%02d %02d ", i, j);
System.out.print(formatted);
}
}
}
}
00 01 처음을 생각해보자. 이때 뒤에 j는 항상 앞에 i보다 1이 더해진 상태에서 출력되어야 하기 때문에 j=i+1로 기준점을 잡았다.
00 99까지 모두 출력된 후 , 이제 01 02로 갈것이다. 이때도 01 99까지 갈 것이고, 02 03도 02 99까지 갈 것이다..
마지막으로 가보자.
마지막 값은 98 99가 나와야한다. 하지만 i도 99까지 갈 수 있는데, 이러한 상황이 발생하면 안된다.
따라서 조건문에 j>i로 해주었다.
%02d로 해주면 어떤 숫자도 00 01 이런식으로 출력된다.