알고리즘(종합)/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으로 자리수에 대한 텍스트를 가져온다