알고리즘/[코드업] 기초 100제
[JAVA] CodeUp 1083 : [기초-종합] 3 6 9 게임의 왕이 되자!(설명)
Art Rudy
2021. 7. 31. 22:47
728x90
반응형
https://codeup.kr/problem.php?id=1083
[기초-종합] 3 6 9 게임의 왕이 되자!(설명)
C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
문제 분류 : 기초4-1. 단순 반복문
문제 설명
3 6 9 게임을 하던 영일이는 3 6 9 게임에서 잦은 실수로 계속해서 벌칙을 받게 되었다.
3 6 9 게임의 왕이 되기 위한 마스터 프로그램을 작성해 보자.
참고
중첩의 원리
반복 실행 구조 안에 선택 실행 구조를 자유롭게 중첩할 수 있다.
예시
int i;
for(i=1; i<=100; i++) //1부터 100까지 반복
{
if(i%3==0 || i%5==0) printf("%d ", i); //3또는 5의 배수인 경우 그 수 출력
}
** 3 6 9 게임은?
여러 사람이 순서를 정해 순서대로 수를 부르는 게임이다.
만약 3, 6, 9 가 들어간 수를 자신이 불러야 하는 상황이면, 대신 "박수" 를 쳐야 한다.
33까지 진행했다면? "짝짝"과 같이 박수를 두 번 치는 형태도 있다.
입력
10 보다 작은 정수 1개가 입력된다.
(1 ~ 9)
출력
1 부터 그 수까지 순서대로 공백을 두고 수를 출력하는데,
3 또는 6 또는 9인 경우 그 수 대신 영문 대문자 X 를 출력한다.
입력 예시
9
출력 예시
1 2 X 4 5 X 7 8 X
도움말
내 답안
import java.util.InputMismatchException;
import java.util.Scanner;
public class Main {
public static int getNum (int i) {
int j = 0;
while (i > 0) {
if (i % 10 == 3 || i % 10 == 6 || i % 10 == 9) {
j++;
}
i /= 10;
}
return j;
}
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
try {
int iNum = sc.nextInt();
for (int i = 1; i <= iNum; i++) {
int cnt = getNum(i);
if (cnt == 0) {
System.out.print(i+ " ");
}
else {
for (int l = 0; l < cnt; l++) {
System.out.print("X");
}
System.out.print(" ");
}
}
} catch (InputMismatchException e) {
System.out.println("정수만 입력 가능");
}
}
}
728x90
반응형