본문 바로가기

CS23

[CS] 재귀함수 vs for문 재귀함수는 꽤나 재밌고 구현하기에 어렵다... 그래도 이해하면서 문제 푸니까 재밌다! 문득 재귀함수랑 for문의 차이가 뭘까 궁금해져서 검색을 통해 공부해봤다. https://velog.io/@gillog/Algorithm-%EC%9E%AC%EA%B7%80%EC%99%80-%EB%B0%98%EB%B3%B5%EB%AC%B8 [Algorithm] 재귀와 반복문 Algorithm 문제를 풀때 보통 while이나 for문 같은 반복문을 이용해 문제를 풀곤 했다.하지만 반복문 만으로는 풀기 어려운 문제들이나, 재귀 함수로 푸는 것이 더 빠르게 접근 가능한 문제들의 경우( velog.io 위 블로그에 원하는 정보가 잘 정리되어 있었다. 간단히 말하면 for문이 더 좋은 것 같다. 속도적 측면에서도 for문이 더 우.. 2021. 10. 3.
[CS] 비트단위(bitwise) 연산자 비트단위(bitwise) 연산자는, ~(bitwise not, tilde), &(bitwise and, ampersand, 앰퍼센드), |(bitwise or, pipe 연산자라고도 불린다), ^(bitwise xor, caret), (bitwise right shift)가 있다. 재미있는 개념이다. 이 연산을 이용하면 어떤 비트열의 특정 부분만 모두 0으로도 만들 수 있는데 192.168.0.31 : 11000000.10101000.00000000.00011111 255.255.255.0 : 11111111.11111111.11111111.00000000 두 개의 ip 주소를 & 연산하면 192.168.0.0 : 110000000.10101000.0000000.00000000 을 계산할 수 있다. 실제.. 2021. 9. 21.
[CS] Overflow 컴퓨터는 정수형 숫자를 이진법(binary)의 형태로 저장한다. 4비트 공간에 숫자를 저장한다고 치면 -8~+7까지의 숫자를 받아서 저장할 수 있다 안그래도 이진법에다가 음수를 어떻게 저장할까 궁금하던 차에 파이썬으로 풀었던 기본 100제를 C++로 다시 풀면서 59번 문제를 만났는데 다시 이해하게 되었다. 분명 풀었던 문제인데도 따로 정리하거나 적어두질 않으니 또 까먹지 만약 4비트 공간이 주어지고 +7 -> 0111로 저장이 된다. 여기에 1을 더해주면?? +8이 된다고 생각할 수 있지만 음수까지 저장해야하기 때문에 -8이 된다. -8 -> 1000에서 1을 빼줘도 -9가 아닌 +7이 된다. 이러한 것을 오버플로우(overflow, 넘침)라고 한다. 비트단위 연산자 ~(bitwise not)에 따르면.. 2021. 9. 21.