반응형
문제 출처:https://www.acmicpc.net/problem/17614
17614번: 369
민수는 같은 반 친구들과 369게임을 하고 있다. 369게임은 여러 명이 원형으로 둘러 앉아 시작 위치의 사람이 1을 외치며 시작된다. 이후 시계방향으로 돌아가며 2, 3, 4와 같이 1씩 증가된 수가 자
www.acmicpc.net
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 |