알고리즘(종합)/Lv.2

1926 - 간단한 369 게임

ch.0 2022. 11. 13. 00:26


package test;

import java.util.Scanner;

class Solution {

	public static void main(String args[]) throws Exception {

		Scanner sc = new Scanner(System.in);
		int a = sc.nextInt();
		String num = "sample";
		String sub1;
		String sub2;
		String sub3;
		

		for (int i = 1; i <= a; i++) {

			if (i < 10) {
				num = Integer.toString(i);

				if (num.equals("3") || num.equals("6") || num.equals("9")) {
					num = "-";

				}
				System.out.print(num+" ");
			} else if (i < 100) {
				num = Integer.toString(i);
				sub1 = num.substring(0, 1);
				sub2 = num.substring(1, 2);

				if (sub1.equals("3") || sub1.equals("6") || sub1.equals("9")) {
					num = "-";
					if (sub2.equals("3") || sub2.equals("6") || sub2.equals("9")) {
						num = "--";

					}
				} else if (sub2.equals("3") || sub2.equals("6") || sub2.equals("9")) {
					num = "-";

				}

				System.out.print(num+" ");
			} else if (i <= 1000) {
				num = Integer.toString(i);
				sub1 = num.substring(0, 1);
				sub2 = num.substring(1, 2);
				sub3 = num.substring(2, 3);

				if (sub1.equals("3") || sub1.equals("6") || sub1.equals("9")) {
					num = "-";
					if (sub2.equals("3") || sub2.equals("6") || sub2.equals("9")) {
						num = "--";
						if (sub3.equals("3") || sub3.equals("6") || sub3.equals("9")) {
							num = "---";

						}

					}
				} else if (sub2.equals("3") || sub2.equals("6") || sub2.equals("9")) {
					num = "-";
					if (sub3.equals("3") || sub3.equals("6") || sub3.equals("9")) {
						num = "--";

					}

				} else if (sub3.equals("3") || sub3.equals("6") || sub3.equals("9")) {
					num = "-";

				}
				System.out.print(num+" ");
			}

		}

	}
}

각자리수에 3이라는 텍스트가 올때 - 로 바꿔준다.

 

 

좋은코딩

package test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class Solution {
	 
    public static void main(String[] args) throws NumberFormatException, IOException {
           BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
           StringBuilder sb = new StringBuilder();
           int N = Integer.parseInt(br.readLine());
     
           for(int i=1; i<=N; i++) {
               String sub  = i+"";
               int count = 0;
               for(int j=0; j<sub.length(); j++) {
                   if(sub.charAt(j) == '3' || sub.charAt(j) == '6' || sub.charAt(j) == '9') {
                       count++;
                   }
               }
               if(count==0) {
                   sb.append(sub + " ");
               } else {
                   for(int j=0; j<count; j++) {
                       sb.append("-");
                   }
                   sb.append(" ");
               }
           }
           System.out.print(sb);
     
       }

}

형변환을 +"" 으로 할 수 있다.

charAt으로 자리수에 대한 텍스트를 가져온다