문제. 1926 간단한 369게임
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
3 6 9 게임을 프로그램으로 제작중이다. 게임 규칙은 다음과 같다.
1. 숫자 1부터 순서대로 차례대로 말하되, “3” “6” “9” 가 들어가 있는 수는 말하지 않는다.
1 2 3 4 5 6 7 8 9…
2. "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.
예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다.
입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를
게임 규칙에 맞게 출력하는 프로그램을 작성하라.
박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.
여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다.
[제약사항]
N은 10이상 1,000이하의 정수이다. (10 ≤ N ≤ 1,000)
[입력]
입력으로 정수 N 이 주어진다.
[출력]
1 ~ N까지의 숫자를 게임 규칙에 맞게 출력한다.
입력 | 출력 |
10 |
1 2 - 4 5 - 7 8 - 10
|
풀이
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 T;
T=sc.nextInt();
int cnt = 0;
for(int t = 1; t <= T; t++)
{
cnt = 0;
int num = t;
while(num>0){
// 첫째자리가 3,6,9이면 cnt에 1을 더해주고 10을 나눈다.
if(num%10 == 3 || num%10 == 6 || num % 10 == 9) cnt ++;
num /= 10;
}
if(cnt == 0) System.out.print(t); //cnt가 0이라면 숫자 그대로 출력
else{
for(int i = 0; i < cnt; i++){
System.out.print("-");//cnt가 0이 아니라면 cnt수만큼 "-" 출력
}
}
System.out.print(" ");
}
}
}
분명 줄간격을 다 맞추서 적는데 왜이리 지멋대로인지 모르겠네..
반응형
'취업이야기' 카테고리의 다른 글
SWEA(SW Expert Academy) [d2] 2005. 파스칼의 삼각형 (java) (0) | 2024.04.13 |
---|---|
SWEA(SW Expert Academy) [d2] 2007. 패턴 마디의 길이 (java) (0) | 2024.04.13 |
SWEA(SW Expert Academy) [d2] 1859. 백만 장자 프로젝트 (java) (0) | 2024.04.13 |
SWEA(SW Expert Academy) [d1] 2047. 신문 헤드라인 (java) (0) | 2024.04.04 |
SWEA(SW Expert Academy) [d1] 2050. 알파벳을 숫자로 변환 (java) (0) | 2024.04.04 |
댓글