[문제]
게임 규칙 : "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.
예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다.
입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를
게임 규칙에 맞게 출력하는 프로그램을 작성하라.
박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.
여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다.
[풀이 방법]
2자리 수 이상부터는 십의 자리와 일의 자리에서 3/ 6/ 9가 있는지 판단 해야하기 때문에 십의 자리와 일의자리를 구분합니다.
(a= i / 10 , b = i % 10)
들어오는 숫자가 2자리 이상이라면 a가 3/ 6/ 9 인지 판단하고 b가 3/ 6/ 9인지 판단한 후에 a,b 둘 다에 있으면 '--'을 출력하고 둘 중 하나에만 있는 경우에는 '-'를 출력합니다.
2자리 이상이 아닐 경우에는 b가 3/ 6/ 9 인지만 판단하여 '-' 를 출력했습니다.
for (int i =1; i <= N; i++) {
int a = i / 10, b = i % 10;
if (a == 3 || a == 6 || a == 9) {
if (b == 3 || b == 6 || b == 9) {
System.out.print("-- ");
continue;
}
System.out.print("- ");
}
else if (b == 3 || b == 6 || b == 9)
System.out.print("- ");
else {
System.out.print(i + " ");
}
}
'SWEA > D2' 카테고리의 다른 글
[SWEA 1986][D2][JAVA] 지그재그 숫자 (0) | 2019.04.30 |
---|---|
[SWEA 1989][D2][JAVA] 초심자의 회문검사 (0) | 2019.04.30 |
[SWEA 2005][D2][JAVA] 파스칼의 삼각형 (0) | 2019.04.29 |
[SWEA 2001][D2][JAVA] 파리퇴치 (0) | 2019.04.29 |
[SWEA 2007][D2][JAVA] 패턴 마디의 길이 (0) | 2019.04.29 |