https://www.acmicpc.net/problem/1105
문제
풀이
- L과 R의 자리수가 다를 경우 → ans =0
- L과 R의 자리수가 같은 경우
- 가장 큰 자리수 부터 10의 자리까지 반복문
- 같은 자리의 수가 같고 '8'인지 확인 → ans ++
- 같지만 8이 아닌 것은 continue지만, 같지 않은 수는 break 해야함 (예를 들면, 780과 789에서 7은 continue해야함)
- 두 수가 같은데 마지막이 8이라면 → ans ++ (10의 자리까지 방문하기 때문에 따로 처리)
- 가장 큰 자리수 부터 10의 자리까지 반복문
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
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();
int ans=0;
if(L.length() == R.length()) {
for(int i=0; i<L.length()-1; i++) {
if(L.charAt(i)=='8'&& L.charAt(i) == R.charAt(i)) ans ++;
else if(L.charAt(i) != R.charAt(i)) break;
}
if(L.equals(R)&& L.charAt(L.length()-1)=='8') ans ++;
}
System.out.println(ans);
}
}
회고
정확한 범위가 있는 문제는 문자열로 풀면 메모리초과 날 줄 알았는데 편견이었나봅니다 ㅎㅎ
else if를 놓쳐서 계속 틀렸었네요 💦
'코딩테스트' 카테고리의 다른 글
[프로그래머스] Lv1. 이웃한 칸 - Java (0) | 2024.08.24 |
---|---|
[백준] 1325번 '효율적인 해킹' - Java (0) | 2024.08.22 |
[백준] 1012번 '유기농 배추' - Java (0) | 2024.08.19 |
[프로그래머스] Lv1. 붕대 감기 - Java (0) | 2024.08.18 |
[프로그래머스] Lv1. 가장 많이 받은 선물 - Java (0) | 2024.08.17 |