๐Ÿค–/๋ฐฑ์ค€

๋ฐฑ์ค€ 1065: ํ•œ์ˆ˜ (Python)

sssbin 2021. 8. 24. 18:06

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

 

1065๋ฒˆ: ํ•œ์ˆ˜

์–ด๋–ค ์–‘์˜ ์ •์ˆ˜ X์˜ ๊ฐ ์ž๋ฆฌ๊ฐ€ ๋“ฑ์ฐจ์ˆ˜์—ด์„ ์ด๋ฃฌ๋‹ค๋ฉด, ๊ทธ ์ˆ˜๋ฅผ ํ•œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค. ๋“ฑ์ฐจ์ˆ˜์—ด์€ ์—ฐ์†๋œ ๋‘ ๊ฐœ์˜ ์ˆ˜์˜ ์ฐจ์ด๊ฐ€ ์ผ์ •ํ•œ ์ˆ˜์—ด์„ ๋งํ•œ๋‹ค. N์ด ์ฃผ์–ด์กŒ์„ ๋•Œ, 1๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , N๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜

www.acmicpc.net

 

def flag(n):
    n_list = list(str(n))

    if len(n_list) > 2 :
        d = int(n_list[1]) - int(n_list[0])
        m = int(n_list[1])

        for i in n_list[2:]:
            if int(i)-m != d :
                return 0
            else :
                m = i

    return 1

n = int(input())
cnt = 0

for i in range(n):
    if flag(i+1) == 1 :
        cnt += 1

print(cnt)

"ํ•œ์ˆ˜"์˜ ๊ฐœ๋…์„ ์ดํ•ดํ•˜๋Š”๊ฒŒ ๊ฐ€์žฅ ์˜ค๋ž˜ ๊ฑธ๋ ธ๋˜,,!!

 

๊ฐ ์ž๋ฆฟ์ˆ˜๋“ค์ด ๋ชจ๋‘ ๋“ฑ์ฐจ์ˆ˜์—ด์„ ์ด๋ฃจ๋ฉด ํ•œ์ˆ˜๋ผ๊ณ  ํ•œ๋‹ค

์˜ˆ๋ฅผ ๋“ค๋ฉด 1000์€ 1, 0, 0, 0์ด ๋“ฑ์ฐจ์ˆ˜์—ด์„ ์•ˆ ์ด๋ฃจ๋‹ˆ๊นŒ ํ•œ์ˆ˜๊ฐ€ ์•„๋‹˜

234๋Š” 2, 3, 4๊ฐ€ ๋“ฑ์ฐจ์ˆ˜์—ด์„ ์ด๋ฃจ๋‹ˆ๊นŒ(๊ณต์ฐจ๊ฐ€ 1) ํ•œ์ˆ˜์ž„

 

์ด์— ๋”ฐ๋ผ ํ•œ ์ž๋ฆฌ์ˆ˜(1~9), ๋‘ ์ž๋ฆฌ์ˆ˜(10~99)๋Š” ๋ชจ๋‘ ํ•œ์ˆ˜๋‹ค!

(๋น„๊ตํ•  ์ˆซ์ž๊ฐ€ 1, 2๊ฐœ ๋ฐ–์— ์—†์œผ๋‹ˆ๊นŒ)