๐Ÿ‘ฉ๐Ÿป‍๐Ÿ’ป ์•Œ๊ณ ๋ฆฌ์ฆ˜/๋ฐฑ์ค€

[๋ฐฑ์ค€] 1105๋ฒˆ ํŒ” (Python)

mallin 2024. 8. 29. 17:04

https://www.acmicpc.net/problem/1105

๐Ÿ“Œ ๋ฌธ์ œ

L๊ณผ R์ด ์ฃผ์–ด์ง„๋‹ค. ์ด๋•Œ, L๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , R๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ์ค‘์— 8์ด ๊ฐ€์žฅ ์ ๊ฒŒ ๋“ค์–ด์žˆ๋Š” ์ˆ˜์— ๋“ค์–ด์žˆ๋Š” 8์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

๐Ÿ“Œ ์ž…๋ ฅ

์ฒซ์งธ ์ค„์— L๊ณผ R์ด ์ฃผ์–ด์ง„๋‹ค. L์€ 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๊ณ , R์€ L๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 2,000,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜์ด๋‹ค.

 

๐Ÿ“Œ ์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— L๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , R๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™์€ ์ž์—ฐ์ˆ˜ ์ค‘์— 8์ด ๊ฐ€์žฅ ์ ๊ฒŒ ๋“ค์–ด์žˆ๋Š” ์ˆ˜์— ๋“ค์–ด์žˆ๋Š” 8์˜ ๊ฐœ์ˆ˜๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.


๐Ÿ“Œ ํ’€์ด ๋ฐฉ์‹ 

๋ฌธ์ œ๋Š” ์—„์ฒญ๋‚˜๊ฒŒ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. 

ํ•˜์ง€๋งŒ, ํ’€๋‹ค๋ณด๋‹ˆ๊น ์•ˆ ๋ณด์ด๋˜ ์กฐ๊ฑด๋“ค์ด ์ถ”๊ฐ€๋˜๊ณ  ์ถ”๊ฐ€๋˜์„œ ํ‹€๋ ธ์Šต๋‹ˆ๋‹ค ์˜ ์—ฐ์†์ด์˜€๋Š”๋ฐ์š” ,, ๐Ÿ˜ฟ

์งˆ๋ฌธ๊ฒŒ์‹œํŒ์— ์žˆ๋Š” ๋ฐ˜๋ก€๋“ค์„ ๋ชจ๋‘ ์‹œ๋„ํ•ด๋ณด๊ณ , ์กฐ๊ฑด์„ ๊ณ ๋ฏผํ•ด๋ณธ ๊ฒฐ๊ณผ ๋งž์•˜์Šต๋‹ˆ๋‹ค !! ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

 

L ๊ณผ R ์„ ์ด 3๊ฐ€์ง€ ๊ฒฝ์šฐ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š”๋ฐ์š”. 

1.  L ๊ณผ R ์ด ๊ฐ™์€ ๊ฒฝ์šฐ

2.  L๊ณผ R ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ

3. ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ (L๊ณผ R ์ด ๋‹ค๋ฅด๊ณ , ๊ธธ์ด๋„ ๋‹ค๋ฅธ ๊ฒฝ์šฐ)

 

1.  L ๊ณผ R ์ด ๊ฐ™์€ ๊ฒฝ์šฐ

๋‘ ๊ฐœ์˜ ๊ฐ’์ด ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— L ๊ณผ R ์ค‘์— ์•„๋ฌด ๊ฐ’์„ ์„ ํƒํ•ด 8 ์˜ ๊ฐœ์ˆ˜๋ฅผ ์„ธ์ฃผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. 

ex) 8 8 -> 1 / 88 88 -> 2 / 188 188 -> 2

 

2. L๊ณผ R ์˜ ๊ธธ์ด๊ฐ€ ๊ฐ™์€ ๊ฒฝ์šฐ

๋งจ ์•ž์ž๋ฆฌ๋ถ€ํ„ฐ ๊ฐ’์„ ํ™•์ธํ•ด์ฃผ๋Š”๋ฐ์š”. 

์•ž๋ถ€ํ„ฐ ๊ฐ’์„ ํ™•์ธํ•˜๊ธฐ์— ํ•ด๋‹น ๊ฐ’์ด ๊ฐ™์œผ๋ฉด ๋ณ€ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. (180 183 ์ธ๊ฒฝ์šฐ 18 ์ด ๊ฐ™๊ธฐ ๋•Œ๋ฌธ์— 3๋ฒˆ์งธ ์ž๋ฆฌ๋งŒ ๊ฐ’์ด ๋ณ€ํ•œ๋‹ค)

๋ณ€ํ•˜์ง€ ์•Š๊ธฐ์— ํ•ด๋‹น ๊ฐ’๋“ค์ด 8 ์ธ ๊ฒฝ์šฐ์—๋Š” ๊ฐœ์ˆ˜๋ฅผ ํ•˜๋‚˜ ๋” ์„ธ์ฃผ๊ณ , 

๋‹ค๋ฅธ ๊ฐ’์ธ ๊ฒฝ์šฐ ๋’ท์ž๋ฆฌ ์ˆ˜๋“ค๋„ ๋ชจ๋‘ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ๊ธฐ์— ๋ฐ˜๋ณต๋ฌธ์„ ๋ฉˆ์ถฐ์ค๋‹ˆ๋‹ค. (๊ฐ’์ด ๋ณ€๊ฒฝ๋˜๋ฉด 8 ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์—)

ex) 128 120 -> 2 / 228 300 -> 0 / 809 888 -> 1

 

3. ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ (L๊ณผ R ์ด ๋‹ค๋ฅด๊ณ , ๊ธธ์ด๋„ ๋‹ค๋ฅธ ๊ฒฝ์šฐ)

์ด ๊ฒฝ์šฐ์—๋Š” ๋ฌด์กฐ๊ฑด 8์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š” ์ˆ˜๊ฐ€ ์กด์žฌํ•˜๊ธฐ์— 0 ์„ ์ถœ๋ ฅํ•ด์ค๋‹ˆ๋‹ค. 

ex) 1 10 -> 0 / 10 100 -> 0 / 123132 100000000 -> 0

 


๐Ÿ“Œ ์ฝ”๋“œ

L, R = map(str, input().split())
count = 0

if L == R:
    count = str(L).count('8')
elif len(L) == len(R):
    for i in range(len(L)):
        if L[i] == '8' and R[i] == '8':
            count += 1
        elif L[i] != R[i]:
            break

print(count)