백준 1105 '팔'

Bonwoong Ku·2023년 10월 12일
0

알고리즘 문제풀이

목록 보기
57/110

아이디어

  • L과 R 모두 같은 자리에 '8'이 있으면 L~R 사이에 있는 수의 해당 자리는 무조건 '8'이어야 한다.
  • 단, 그 이전 자리에 '8'이 아닌 다른 숫자가 있었다면 8이 없어도 된다.

코드

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
	static BufferedReader rd = new BufferedReader(new InputStreamReader(System.in));
	static StringTokenizer tk = null;
	
	static int L, R, ans;

	public static void main(String[] args) throws Exception {
		tk = new StringTokenizer(rd.readLine());
		L = Integer.parseInt(tk.nextToken());
		R = Integer.parseInt(tk.nextToken());
		
		while (true) {
			if (L == 0 && R == 0) break;
			if (L != R) ans = 0;
			if (L % 10 == 8 && R % 10 == 8) ans++;
			L /= 10;
			R /= 10;
		}
		
		System.out.println(ans);
	}
}

메모리 및 시간

  • 메모리: 14292 KB
  • 시간: 124 ms

리뷰

  • 두번째 조건을 잘 생각해봐야 하는 문제.
  • 예제 입력에는 주어지지 않는 경우기 때문에 잘 생각해야 한다.
profile
유사 개발자

0개의 댓글