문제
https://www.acmicpc.net/problem/1105
풀이(13분)
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
String l = st.nextToken();
String r = st.nextToken();
// L과 R의 자릿수가 다르면 바로 0 출력
if (l.length() != r.length()) {
System.out.println(0);
return;
}
int count = 0;
// L과 R의 자릿수를 비교
for (int i = 0; i < l.length(); i++) {
// L과 R의 현재 자리가 다르면 더 이상 탐색 불필요
if (l.charAt(i) != r.charAt(i)) {
break;
}
// 동일한 자리의 숫자가 '8'이면 카운트 증가
if (l.charAt(i) == '8') {
count++;
}
}
System.out.println(count);
}
}
해결 방식은 단순하다.
일단 두 수의 길이가 다르다면 반드시 8이 없이 결과를 도출할 수 있으므로 0을 리턴한다.
길이가 같다면 자릿수마다 다음과 같은 비교를 진행한다.
1. 현재 자릿수가 다르다면 이후로는 8이 없어도 가능하다.
2. 현재 자릿수가 같다면 8인지 아닌지를 확인한다.
'문제 풀이 > 백준' 카테고리의 다른 글
[백준] 1946번. 신입 사원(JAVA) (1) | 2025.02.01 |
---|---|
[백준] 1850번. 최대공약수(JAVA) (0) | 2025.01.30 |
[백준] 22862번. 가장 긴 짝수 연속한 부분 수열 (large)(JAVA) (1) | 2025.01.23 |
[백준] 1966번. 프린터 큐(JAVA) (0) | 2025.01.21 |
[백준] 10828번. 스택(JAVA) (0) | 2025.01.19 |