Computer Engineering/Algorithm 4

파이썬 10진수 2진수로 변환하기 (10진수 n 진수로 변환하기)

알고리즘 문제를 풀다보면 10진수에서 2진수로 2진수에서 10진수로 변경을 필요로 하는 문제가 많이 있습니다. 이러한 문제가 나오는 이유는 컴퓨터가 애초에 2진수 체계로 만들어져 있기 때문에 컴퓨터에 대한 이해에 있어서 진법을 이해하는 것이 중요하기 때문이라고 생각합니다. 실제로 컴퓨터에서 곱하기 연산이나 나누기 연산을 한 자리 씩 shift 시키면서 하는 것을 보면 흡사 십진수를 이진수로 변환하는 프로그래밍과 유사하다는 느낌도 받았습니다.(저의 개인적인 생각입니다...!) 십진수를 이진수로 바꾸는 방법은 십진수를 2로 나눈 몫, 나머지 를 이용해서 각 자리를 정해줍니다. 19 이라는 수가 있다면 맨처음 2로 나누면 몫 9이고 나머지는 1 이기 때문에 최하위 bit 1이되고 다시 9를 2로 나누면 몫 4..

파이썬 알고리즘 문자열 중복 체크하기.

오랜만에 다시 알고리즘 문제 기본 문제부터 파이썬 알고리즘 문자열 중복 체크하기. 문자열 중복을 체크하는 방법으로 1) 중복된 element를 제거해주는 자료구조인 set 을 이용해서 해결. 2) 단순하게 for 문으로 element 들을 순회 하면서 중복을 체크. 1) 자료구조 set 을 이용. 2) for 문을 순회 이제 한 동안은 알고리즘과 자료구조를 공부를 열심히 해보려고 합니다. 감사합니다.

파이썬 버블 정렬 Bubble sort using python

오늘부터 기본 리스트의 정렬 알고리즘들에 대하여 정리해보도록 하겠습니다. Python 을 이용하여 구현 하도록 하겠습니다. 가장 먼저, 버블 정렬 입니다. 버블 정렬은 시간 복잡도 O(N^2) 공간 복잡도 O(1) 으로 성능이 떨어지는 알고리즘입니다. 옆 인덱스의 수들과 비교해서 버블 정렬 이라고 합니다. N - 1 번 첫 인덱스 부터 끝에서 두 번째 인덱스의 수까지 옆에 인덱스의 값과 비교하면서 정렬해 나가면됩니다. 코드입니다. 감사합니다.

반응형