✔️문제
- 100까지 369 게임을 아래와 같이 진행하시오.
- 정답:
1 2 짝 4 5 짝 7 8 짝 10 11 12 짝 14 15 짝 17 18 짝 20 21 22 짝 24 25 짝 27 28 짝 짝 짝 짝 짝짝 짝 짝 짝짝 짝 짝 짝 40 41 42 짝 44 45 짝 47 48 짝 50 51 52 짝 54 55 짝57 58 짝 짝 짝 짝 짝짝 짝 짝 짝짝 짝 짝 짝짝 70 71 72 짝 74 75 짝 77 78 짝 80 81 82 짝 84 85 짝 87 88 짝 짝 짝 짝 짝짝 짝 짝 짝짝 짝 짝 짝짝 100
📍정답
package _15_369game;
public class Main {
public static int getNum(int i) {
int j=0; //i가 3,6,9 몇개인지 cnt해주는 변수
int n = 100;
while (i>0) {
if(i%10==3 || i%10==6 ||i%10==9)
j++;
i /=10;
}
return j;
}
public static void main(String[] args) {
int n = 100;
for(int i=1;i<n;i++) {
int cnt = getNum(i);
if (cnt == 0) { //369 아닌경우
System.out.print(i+" ");
} else { //369면
for (int k=0;k<cnt;k++) {
System.out.print("짝");
}
System.out.print(" ");
}
}
}
}
정수 자릿수 하나씩 추출하기
더보기
int n = 1245;
while (n > 0) {
int digit = n % 10; // 마지막 자리 숫자 추출
if (digit % 3 == 0) {
System.out.println(digit + " : 나머지 0");
}
n /= 10; // 10으로 나누어 자리수를 줄임
}
package _15_369game;
public class Main2{
public static void main(String[] args) {
int count = 0; // 한 줄에 10개씩 출력하기 위한 카운터
for (int i = 1; i <= 100; i++) {
String numberStr = String.valueOf(i); // 숫자를 문자열로 변환
int clapCount = 0; // "짝"을 출력할 횟수
// 각 자리 숫자 검사
for (char ch : numberStr.toCharArray()) {
if (ch == '3' || ch == '6' || ch == '9') {
clapCount++; // 3, 6, 9가 포함될 때마다 증가
}
}
// "짝"을 clapCount 횟수만큼 출력, 없으면 숫자 출력
if (clapCount > 0) {
System.out.print("짝".repeat(clapCount) + " ");
} else {
System.out.print(i + " ");
}
count++; // 출력된 숫자 개수 증가
if (count % 10 == 0) {
System.out.println(); // 10개 출력 후 줄 바꿈
}
}
}
}'개발인생 > Altorithm' 카테고리의 다른 글
| [알고리즘 기초 100제] 17. 팰린드롬(Palindrome) (1) | 2025.03.14 |
|---|---|
| [알고리즘 기초 100제] 16. 중복된 수 제거하기 (1) | 2025.03.12 |
| [알고리즘 기초 100제] 14. 거듭제곱 (0) | 2025.03.12 |
| 별 찍기 패턴 정리💫 (0) | 2025.03.11 |
| [알고리즘 기초 100제] 13. 별찍기 (0) | 2025.03.11 |