반응형
문제 출처:https://www.acmicpc.net/problem/17614
1. 문제 접근방식
문제를 잘 읽어야 한다.
일반적인 369의 방식과 똑같다. 주의할 점은 '36'과 같이 3, 6, 9가 여러번 나오는 경우에는 나온 횟수만큼 박수를 쳐야한다는 점이다.
처음에는 contains() 메서드를 사용하여 단순히 한번으로 계산해서 삽질을 했는데, 사실상 charAt(index)로 특정 숫자에 몇 번의 3, 6, 9가 나오는지 확인을 하며 count를 증가해주는 방식으로 해야한다.
2. 내가 푼 코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class boj17614 {
static int N;
static StringBuilder sb = new StringBuilder();
public static void main(String[] args) throws IOException {
input();
solve(N);
System.out.println(sb.toString());
}
static void input() throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
N = Integer.parseInt(br.readLine());
}
static void solve(int n) {
int cnt = 0;
for (int i = 1; i <= n; i++) {
String str = Integer.toString(i);
for (int j = 0; j < str.length(); j++) {
if (str.charAt(j) == '3' || str.charAt(j) == '6' || str.charAt(j) == '9')
cnt++;
}
}
sb.append(cnt);
}
}
반응형
'개인 공부 > Algorithm' 카테고리의 다른 글
[Baekjoon/백준] 11478 JAVA (0) | 2022.03.14 |
---|---|
[Baekjoon/백준] 10974 JAVA (0) | 2022.03.12 |
[Baekjoon/백준] 1120 JAVA (0) | 2022.03.08 |
[Baekjoon/백준] 1476 JAVA (0) | 2022.03.06 |
[Baekjoon/백준] 4796 JAVA (0) | 2021.08.27 |