언어

언어/Python

파이썬 알고리즘 - 링크드리스트(LinkedList)에서 끝 에서 N 번째 값

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(7) (1). 개발자 면접 트레이닝 - 링크드리스트에서 끝에서 지정 하는 노드의 값 구하는 알고리즘 ① 링크드리스트는 다음 노드의 위치를 가르키고 있는 포인트 보유 ② 파이썬 클래스 Next 변수 활용 ③ 첫 번째 노드(Node)의 위치를 지정하는 것이 중요 ④ 예를들어 [3, 4, 5, 6, 7, 7, 8, 9, 9] 에서 끝에서 2번째의 노드의 값은 은 -> 9 출력 (2). 소스 코드 PYTHON #last_n_val_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(s..

언어/Python

파이썬 알고리즘 - 링크드리스트(LinkedList)에서 중복 제거하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(6) (1). 개발자 면접 트레이닝 - 링크드리스트에서 중복되는 노드 삭제(Delete) 알고리즘 ① 링크드리스트는 다음 노드의 위치를 가르키고 있는 포인트 보유 ② 파이썬 클래스 Next 변수 활용 ③ 첫 번째 노드(Node)의 위치를 지정하는 것이 중요ㅛ ④ 예를들어 [3, 4, 5, 6, 7, 7, 8, 9, 9] 는 -> [3, 4, 5, 6, 7, 8, 9] 출력 (2). 소스 코드 PYTHON #remove_dup_linkedlist.py import unittest class Node: def __init__(self, item): self.val = item self.next = None class LinkedList: def __init__(..

언어/Python

파이썬 알고리즘 - 문자열을 입력받아 중복단어 압축하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(5) (1). 개발자 면접 트레이닝 - 문자열을 입력받아 중복되는 문자를 압축하는 알고리즘 ① Buffer를 활용하여 문자의 입력 순서대로 중복되는지 체크하자. ② for 문과 if문으로 간단하게 작성 가능다. ③ 입력문자의 길이와 출력문자의 길이가 다를 경우 예외도 반드시 처리 ④ 반복되는 문자가 없을 경우 예외도 반드시 처리 ⑤ 예를들어 AABBBBBCCDEFF 는 -> A2B5C2D1E1F2 , ABC -> ABC (2). 소스 코드 PYTHON #string_comp.py import unittest def compressword(input): buffer = None output = "" cnt = 1 for ch in input: if buffer..

언어/Python

파이썬 알고리즘 - 공백을 %20으로 변환하기

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(4) (1). 개발자 면접 트레이닝 - 공백을 %20으로 변환 하는 알고리즘 ① 파이썬의 기본 함수를 활용해 아주 쉽게 작성 가능 ② replace, strip 함수 사용 ③ 예를들어 hey%20how%20are%20you = hey how are you 와 같이 결과가 같다. (2). 소스 코드 PYTHON #encode_space.py import unittest #공백을 %20으로 변환하는 함수 def encode_space(str): return str.strip().replace(" ", "%20") class encode_space_test(unittest.TestCase): def test(self): self.assertEqual("hey%20..

언어/Python

파이썬 알고리즘 - 문자열로 서로 다른 단어 만들어내기(Anagram)

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(3) (1). 개발자 면접 트레이닝 - 두 문자열이 구성 요소가 같은지 확인(Anagram)하는 알고리즘 ① 파이썬의 join, sorted, strip 함수를 활용 ② 소문자로 변환 후 정렬이 핵심 ③ 예를들어 elivs 는 = lives , basic = isabc 와 같이 구성요소가 같다. (2). 소스 코드 PYTHON #anagram.py import unittest #두 문자열을 입력받아 정렬 한 후 같은 지 비교 (문자로 서로 다른 단어 만들어 내기) def anagram(str1, str2): if ''.join(sorted(str1.lower())).strip() == ''.join(sorted(str2.lower())).strip(): #대..

언어/Python

파이썬 알고리즘 - 문자열 입력받아 역(Reverse)으로 출력

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(2) (1). 개발자 면접 트레이닝 - 문자열 입력받아 역으로 출력(Reverse) 알고리즘 ① 2가지 방법으로 접근 한다. ② 첫 번째 방법은 파이썬 리스트 활용 ③ 두 번째 방법은 스택 구조 활용 ④ 예를들어 ABCD 는 -> DCBA 출력 , ABAD -> DABA 출력 (2). 소스 코드 PYTHON #reverseStr.py import unittest # 방법1 : 파이썬 리스트 활용 def reverseString(str): return str[::-1] # 방법2 : 스택(append, pop) 구조 활용 def reverseString2(str): stack = [] for ch in str: stack.append(ch) result = "..

언어/Python

파이썬 알고리즘 - 문자열에 포함된 문자들이 전부 유일한지 검사

개발자 면접 트레이딩 - 파이썬 알고리즘 문제(1) (1). 개발자 면접 트레이닝 - 문자열에 포함된 문자들이 전부 유일한지 검사하는 알고리즘 ① 모든 문자를 비교하는 것은 시간 복잡도가 높으므로, 부적합하다고 볼 수 있다. ② Hash를 사용하여 시간 복잡도를 낮추는 방향으로 작성해 보도록 하자. ③ 아스키 코드는 모두 256개 ④ 예를들어 ABCD 는 -> 순수 문자열 , ABAD -> 중복 문자열 (2). 소스 코드 PYTHON # isUniqChar.py def isUniqChar(str): if(len(str) > 256): return False hash = [False] * 256 for ch in str: #print(ord(ch)) 문자를 아스키 코드번호로 변환 if(hash[ord(ch..

언어/Python

파이썬(Python) 소개 및 설치하기

파이썬(Python)? (1). 소개 및 장점 파이썬이란 1990년에 암스테르담의 귀도 반 로섬(Guido Van Rossum)에 의하여 만들어진 인터프리터 언어이다. 뱀의 이름을 형상으로한 언어로써 대부분의 파이썬 교재에 아이콘이 뱀 모양으로 그려진 이유가 여기에 있다. 장점은 아래와 같다. ① 강력하다 ② 간결하다.③ 빠른 개발 속도 ④ 흥미를 유발하는 코딩 방식 ⑤ 무료이다. (2). 간결한 파이썬 코드 예제 메뉴명 추가를 위한 설정 PYTHON # simple.py languages = ['python', 'perl', 'c', 'java'] for lang in languages: if lang in ['python', 'perl']: print("%6s need interpreter" % la..

[좋은사람]
'언어' 카테고리의 글 목록 (7 Page)