우당탕탕 개발일지
[SWEA] 1926. 간단한 369게임(Java, D2) 본문
문제
1. 숫자 1부터 순서대로 차례대로 말하되, “3” “6” “9” 가 들어가 있는 수는 말하지 않는다.
2. "3" "6" "9"가 들어가 있는 수를 말하지 않는대신, 박수를 친다. 이 때, 박수는 해당 숫자가 들어간 개수만큼 쳐야 한다.
예를 들어 숫자 35의 경우 박수 한 번, 숫자 36의 경우 박수를 두번 쳐야 한다.
입력으로 정수 N 이 주어졌을 때, 1~N 까지의 숫자를 게임 규칙에 맞게 출력하는 프로그램을 작성하라.
박수를 치는 부분은 숫자 대신, 박수 횟수에 맞게 “-“ 를 출력한다.
여기서 주의해야 할 것은 박수 한 번 칠 때는 - 이며, 박수를 두 번 칠 때는 - - 가 아닌 -- 이다.
입출력 예
풀이
1부터 확인하면서 n까지 숫자인지 박수인지 확인한다.
1. 하나의 숫자에 박수 횟수 구하기
2자리수 이상의 숫자들에 대비하여 for문을 사용하였다.
2자리 이상일 경우 한자리씩 3의 배수 여부를 판단한다.
3일경우 '-'를 저장하고 그렇지 않으면 그냥 지나간다.
여기서 tempCount 변수를 사용하여 '-'가 몇개를 더했는지 확인한다.
tempCount 변수를 통해서 박수 횟수를 결정할 수 있다.
2. 박수 횟수 판단하기
if문을 통해서 '-' 문구의 여부를 판단한다.
존재할 경우에는 3, 6, 9가 존재한다고 인식하게 된다.
그 후, 3,6,9의 개수와 숫자의 자리수가 동일한지 확인하여 박수의 횟수를 결정할 수 있다.
만약 35일 경우, tmepCount = 1, str 길이 = 2 으로 result에는 "-"를 더하게 된다.
해당 숫자에 대한 박수 횟수를 결정하면 공백을 더한다.
코드
SWEA 문제
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PTeo6AHUDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
'코테 > SW Expert Academy' 카테고리의 다른 글
[SWEA] 14178. 1차원 정원(Java, D3) (0) | 2024.05.13 |
---|---|
[SWEA] 1983. 조교의 성적 매기기(Java, D2) (0) | 2024.04.29 |
[SWEA] 1979. 어디에 단어가 들어갈 수 있을까(Java, D2) (0) | 2024.04.29 |
[SWEA] 1989. 초심자의 회문 검사(Java, D2) (0) | 2024.04.29 |
[SWEA] 1859. 백만 장자 프로젝트(Java, D2) (0) | 2024.04.25 |