본문 바로가기

반응형
SMALL

개발 상식

부동 소수점의 한계 가끔 부동 소수점을 표현하다가 발생하는 오차 때문에 곤혹을 치른 적이 있으셨나요? 아마 알고리즘 문제를 풀 때 가장 많이 마주치는 문제일 것입니다. 비교를 한다던가, 비교를 한다던가, 비교를 할 때 말이죠. 이 문제의 경우엔 많은 사람들이 겪었지만, 이유는 잘 모르고 있더라고요. 그래서 이 글에서 한 번 알아보도록 하겠습니다. 참고로 이 개발 상식은 이름만 들어도 아는 유명 IT 회사의 면접 질문 중 하나였습니다. (따끈따끈한 2019년 면접 질문) 그러니 취업 준비생이라면 꼭 알고 가셔야겠죠 !? print(0.1 + 0.2) Python에서 과연 위의 값을 출력하면 어떤 값이 뜰까요? 아마 0.3이라는 값을 먼저 떠올렸을거지만, 우리의 멍청한 컴퓨터는 0.3을 출력해내지 않습니다. 제 컴퓨터에서는 0.. 더보기
재귀함수를 쓰는 이유 공부를 하다가 갑자기 무한 루프와 무한 재귀함수의 차이는 무엇인가에 대해서 고민을 해보게 되었습니다. 외국 사이트를 뒤져보다가 해답을 찾았는데 무한 재귀함수는 stack이라는 메모리 공간을 계속해서 이용하기 때문에 메모리의 제한이 있는한 stack overflow가 뜨면서 메모리가 펑! 하고 터져버린다고 합니다. 반복문의 경우엔 메모리를 이런식으로 사용하지 않아서 단지, 프로그램이 종료되지 않을 뿐이죠. 그렇다면 말이죠? 꼬리를 무는 질문이 생겼습니다. 왜 재귀함수를 쓸까요? 따지고보면 반복문보다 좋은 점도 없는데 말이죠. 심지어, 많은 사람들이 재귀함수가 반복문보다 느리다는 것을 이미 다 알고 있습니다. 그럼에도 불구하고 많은 사람들이 재귀함수를 흥미있게 다루고, 잘 사용하고 있는데, 그 이유를 한 번.. 더보기

반응형
LIST