반응형
츄르사려고 코딩하는 코집사입니다.
1. [SW expert Academy] SWEA 1926번 간단한 369게임 자바(Java)
1) 난이도 : D2
2) 문제번호 : 1926번
3) 문제 출처
2. 문제
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 까지의 숫자를
게임 규칙에 맞게 출력하는 프로그램을 작성하라.
박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.
여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다.
3. 제약사항
- N은 10이상 1,000이하의 정수이다. (10 ≤ N ≤ 1,000)
4. 입력
입력으로 정수 N 이 주어진다.
5. 출력
1 ~ N까지의 숫자를 게임 규칙에 맞게 출력한다.
6. 풀이
- 아래의 주석을 보면 3,6,9게임 방식 풀이가 적혀 있다.
7. 소스 코드
import java.util.*;
public class Solution {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
for(int i=1;i<=N;i++) {
int count = 0; //문자에 3,6,9 들어있는 개수
//10 미만이고 3의 배수이면 - 출력
if(i<10) {
if(i%3==0) System.out.print("- ");
else System.out.print(i + " ");
}
//10 이상이면
else {
//숫자를 스트링으로 받아 분리하여 String형 배열 num 에 넣고
String a = Integer.toString(i);
String[] num = a.split("");
//num의 크기만큼 반복하여 각 자리에 3,6,9가 있으면 count 증가
for(int k=0;k<num.length;k++) {
if(num[k].contains("3") || num[k].contains("6") || num[k].contains("9")) {
count++;
}
}
//count가 0이라면 그냥 출력
if(count==0) System.out.print(i + " ");
//count가 0이 아니라면
else {
//count만큼 반복해서
for(int z=0;z<count;z++) {
//count가 1이면 - 박수 한 번 출력
if(count==1) System.out.print("-");
//count가 1이 아니라면 count의 크기만큼 박수 출력
else System.out.print("-");
}
System.out.print(" ");
}
}
}
}
}
반응형
'알고리즘 > SW expert Academy' 카테고리의 다른 글
[SW expert Academy] SWEA 7272번 안경이 없어! 자바(Java) (0) | 2021.02.13 |
---|---|
[SW expert Academy] SWEA 1234번 비밀번호 자바(Java) (0) | 2021.02.13 |
[SW expert Academy] SWEA 1983번 조교의 성적 매기기 자바(Java) (0) | 2021.02.11 |
[SW expert Academy] SWEA 1970번 쉬운 거스름돈 자바(Java) (0) | 2021.02.11 |
[SW expert Academy] SWEA 2005번 파스칼의 삼각형 자바(Java) (0) | 2021.02.10 |
[SW expert Academy] SWEA 1247번 최적 경로 자바(Java) (0) | 2021.02.10 |
[SW expert Academy] SWEA 1961번 숫자 배열 회전 자바(Java) (0) | 2021.02.09 |
[SW expert Academy] SWEA 1976번 시각 덧셈 자바(Java) (0) | 2021.02.09 |
최근댓글