알고리즘(BOJ)/Silver

백준 - 팔 1105

ch.0 2023. 1. 31. 20:38


문제분석

L과 R이 자리수가 다르다면 8이 나올수가 없다.

자리수가 같을 때만 체크해주면 된다.

 

왼쪽부터 한개씩 끊어서 숫자가 같은지 체크해 줬다.

 

 

전체소스

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws Exception {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine(), " ");

		String L = st.nextToken();
		String R = st.nextToken();

		int count = 0;

//		if (L.length() != R.length()) {
//			for(int i=0; i<R.length()-L.length(); i++) {
//				L = " "+L;
//			}
//		}

		if (L.length() == R.length()) {
			for (int i = 0; i < L.length(); i++) {
				if (L.charAt(i) == R.charAt(i) && L.charAt(i) == '8') {
					count++;
				} else if (L.charAt(i) == R.charAt(i)) {

				} else {
					break;
				}
			}
		}
		System.out.println(count);

	}

}

숫자가 같으면서 8일경우 카운트 해줬다.

 

*숫자가 같으면서 8이 아닐경우에는 그냥 넘겨주면 되는데 이 처리를 안해줬다.

 

 

 


문제

L과 R이 주어진다. 이때, L보다 크거나 같고, R보다 작거나 같은 자연수 중에 8이 가장 적게 들어있는 수에 들어있는 8의 개수를 구하는 프로그램을 작성하시오.

입력

첫째 줄에 L과 R이 주어진다. L은 2,000,000,000보다 작거나 같은 자연수이고, R은 L보다 크거나 같고, 2,000,000,000보다 작거나 같은 자연수이다.

출력

첫째 줄에 L보다 크거나 같고, R보다 작거나 같은 자연수 중에 8이 가장 적게 들어있는 수에 들어있는 8의 개수를 구하는 프로그램을 작성하시오.

예제 입력 1 복사

1 10

예제 출력 1 복사

0

예제 입력 2 복사

88 88

예제 출력 2 복사

2

예제 입력 3 복사

800 899

예제 출력 3 복사

1

예제 입력 4 복사

8808 8880

예제 출력 4 복사

2