💡 Info
내용
3 6 9 게임을 프로그램으로 제작중이다. 게임 규칙은 다음과 같다.
숫자 1부터 순서대로 차례대로 말하되, “3”, “6”, “9”가 들어가 있는 수는 말하지 않는다.
“3”, “6”, “9”가 들어가 있는 수를 말하지 않는 대신, 박수를 친다.
이때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.
예를 들어 숫자 35의 경우 박수 한번, 숫자 36의 경우 박수를 두번 쳐야 한다.
입력으로 정수 N이 주어졌을 때, 1~N까지의 숫자를 게임 규칙에 맞게 출력하는 프로그램을 작성하라.
박수는 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-”를 출력한다.
📥입력 조건
10
📤출력 조건
1 2 - 4 5 - 7 8 - 10
실제 풀이 시간 : 24분
package D2;
import java.util.Scanner;
import java.io.FileInputStream;
class s1926
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int num = 0;
String[] arr = new String[N+1];
for(int i=1; i<=N; i++) {
if(i % 3 == 0 || i % 6 == 0 || i % 9 == 0) {
arr[i] = "-";
}
System.out.print(arr[i] + " ");
}
}
}
//before
for(int i=1; i<=N; i++) {
if(i % 3 == 0 || i % 6 == 0 || i % 9 == 0) {
arr[i] = "-";
}
System.out.print(arr[i] + " ");
}
//after
for(int i=1; i<=N; i++) {
arr[i] = Integer.toString(i);
if(i % 3 == 0 || i % 6 == 0 || i % 9 == 0) {
arr[i] = "-";
}
System.out.print(arr[i] + " ");
}
//ing
for(int i=1; i<=N; i++) {
arr[i] = Integer.toString(i);
if (arr[i].contains("3") || arr[i].contains("6") || arr[i].contains("9")) {
arr[i] = "-";
}
System.out.print(arr[i] + " ");
}
//after
for(int i=1; i<=N; i++) {
arr[i] = String.valueOf(i);
if (arr[i].contains("3") || arr[i].contains("6") || arr[i].contains("9")) {
for(int j=0; j<arr[i].length(); j++) {
if(arr[i].charAt(j) == '3' || arr[i].charAt(j) == '6' || arr[i].charAt(j) == '9') {
System.out.print("-");
}
}
System.out.print(" ");
}
else {
System.out.print(arr[i] + " ");
}
}
실제 풀이 시간 : 1시간 8분(첫 풀이 시간 포함)
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String[] arr = new String[N+1];
for(int i=1; i<=N; i++) {
arr[i] = String.valueOf(i);
if (arr[i].contains("3") || arr[i].contains("6") || arr[i].contains("9")) {
for(int j=0; j<arr[i].length(); j++) {
if(arr[i].charAt(j) == '3' || arr[i].charAt(j) == '6' || arr[i].charAt(j) == '9') {
System.out.print("-");
}
}
System.out.print(" ");
}
else {
System.out.print(arr[i] + " ");
}
}
}
}
import java.util.Scanner;
import java.io.FileInputStream;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
String[] arr = new String[N+1];
for(int i=1; i<=N; i++) {
arr[i] = String.valueOf(i);
if (arr[i].contains("3") || arr[i].contains("6") || arr[i].contains("9")) {
arr[i]= arr[i].replace("3", "-");
arr[i]= arr[i].replace("6", "-");
arr[i]= arr[i].replace("9", "-");
arr[i]= arr[i].replace("0", "");
arr[i]= arr[i].replace("1", "");
arr[i]= arr[i].replace("2", "");
arr[i]= arr[i].replace("4", "");
arr[i]= arr[i].replace("5", "");
arr[i]= arr[i].replace("7", "");
arr[i]= arr[i].replace("8", "");
}
System.out.print(arr[i] + " ");
}
}
}