Problem Solving/알고리즘

#뭔가 코드를 짜면서 거창하다,이게 맞나? 느껴질 때

Supersett 2022. 5. 11. 13:56
import sys
a,b,c=map(int,sys.stdin.readline().split())

i=1
while a+b*i > c*i:
    i+=1
    if i>210000000:
        i=-1
        break
if i==-1:
    print(i)
else:
    print(i+1)
A, B, C = map(int, input().split())

if B>=C:
    print(-1)
else:
    print(int(A/(C-B)+1))

 코드를 짜다가 이게 맞나? 싶은 생각이 종종 든다. 뭔가 머릿속으로 무한루프 돌리면서 해당조건 만족할때 break 되니까 코드에 이상만 없다면 무한으로 돌아가지 않고 잘 빠져나오겠지 라는 생각인데 실제로 해보면 너무 비효율적이라는걸 실감한다. 

 

 나에게 아직 부족한건 ,

1. 문제를 해석하고 원하는 핵심키를 연상해내는 짬

2. 문제를 간소화해서 정리하는 짬 (해석력)

 

 결국 위에 코드로 진행하다가 무한루프가 풀리질 않아서 구글에 구글링을해서 다른사람들은 어떤식으로 풀었을까 살펴보는데 현타가 좀 왔다.,. 진짜 내공을 훨씬 쌓아야겠다고 또한번 느낀다.

 

 문제를 보자마자 바로 코드 끄적이지 말고, 1번,2번을 좀 찬찬히 파고들어서 생각해보는 시간을 갖고 정리하자. 당장은 시간이 좀 걸릴 수 있지만 이게 다 피가되고 살이되는 과정일 것이다.