2018/12 2

파이썬 비정렬 연결 리스트에서 중복 문자열을 제거하는 코드 (with Cracking the coding interview)

안녕하세요. 요즘 Cracking the coding interview 라는 책을 통해서 공부하고 있습니다. 연결 리스트 문제 중에 비정렬 연결 리스트에서 중복 문자열을 제거하는 코드 문제를 파이썬으로 해결해보려고 합니다. + 임시 버퍼를 사용하는 방법과 임시 버퍼를 사용하지 않는 방법 두가지 모두 코드를 작성하여 봤습니다. 일단 값과 다음 노드를 가르키는 객체인 Node 객체를 만듭니다. 복사 가능한 코드 class Node: def __init__(self, value, next_node): self.value = value self.next = next_node 그리고 LinkedList 를 구현합니다. 여기서 설명은 원소를 추가, 삭제 ,조회 등을 구현하는 것은 설명하지 않고 중복 문자열을 제거하..

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

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

반응형