🐣 알고리즘 삐약/💻 백준 삐약

1 삐약 : 백준 1712 [Python]

우주수첩 2022. 2. 15. 01:10
728x90

1년 휴학을 하고 3학년으로 복학을하는데 흔히들 우스갯소리로 하는 "말하는 감자"의 심각성을 느껴버렸다.

정말 이대로는 안되겠다 싶어서 기본적으로 요구하는 알고리즘 능력을 평균보다는 쪼.끔. 높게 가지고 있고 싶은 마음에

늦은 알고리즘 공부를 시작하고자 한다.

 

우선 백준 문제를 찬찬히 풀어보면서 내 머리가 얼마나 안 돌아가는지 얼마나 효율적으로 코딩을 못하는지 파악하고자 했다.

 

현재 나의 백준티어는

브론즈3으로 아주 삐약삐약 거리고 있다.

 

푼거라고는 단계별로 풀어보기에서

요정도. 심지어 모든 문제를 푼 것도 아니다. 총 해결한 문제 수는 39문제. 

오늘은 백준 1712번 문제를 풀어볼 것이다. 

 

1712:손익 분기점

 

내가 진짜 멍청이구나 라고 느낀 게 알고리즘 머리가 전혀 없는 기분이다. 문제를 이해하는 것은 빠르지만 이를 추상화해서 공식화 하는 것이 안된다는 것을 세상 많이 느끼고 있다. 

 

우선 내가 짠 코드는

컴공 전공중이라고는 믿기지도 않는 엄청난 실력의 코드 구현력이다. 심지어 저 코드도 실행시켜 봤다가 내 머릿속의 생각과 다르게 돌아가고 원하는 답도 나오지 않아서 어이가 없어서 가만히 두고 캡쳐했다.

이제 피하지 않고 맞닥뜨려야 할 때인 것 같다 나의 처참한 알고리즘 실력을 ㅋㅋㅋㅋㅋㅋㅋ 

 

아무리 생각해도 코드가 저리 길게 나오지 않을 것 같아서 다른 분들의 풀이를 찾아보았다.

 

우선. 문제 이해도 잘못했다 ^^ 대단하다 나 자신. 

뭐 때문에 카운팅을 하려고 했는지 참 어이가 없어서 웃음이 나온다ㅋㅋㅋㅋㅋㅋ 국어 공부부터 다시 해야 하는 걸까ㅎ.

 

우선 저 입력 방식을 외워두는 것이 좋을 듯 하다. 

2 : 입력 받은 데이터를 공백을 기준으로 찢어서 저장하고 이를 정수형으로 저장한다.

4: 손익분기점이 발생하지 않을 경우는 가변비용(B)이 노트북가격(C)보다 크거나 같을 경우에 손익 분기점이 발생하지 않는다. 이를 조건문으로 처리하여 -1을 출력할 수 있도록 한다.

6:그렇지 않을 경우 손익분기점을 계산한다. A/(C-B)의 계산 결과는 손익 분기점인 때가 되고 최초로 수익이 발생되는 경우는 다음의 경우이므로 1을 더하여 출력한다.

 

심지어 한 번 틀렸다. 왜 틀렸나 보니 출력할때 정수형이 아니라 실수형으로 나와서 틀린 것 같다.

나누기 연산 수정 후 문제를 해결했다.

 

소감) 분발하자..... 우주의 먼지같은 능력을 가지고 있진 말자....

728x90