본문 바로가기

프로그래머

[Python] Leet Code 344 : Reverse String 풀이 및 분석 본 내용은 를 참고했습니다. Leet Code 344 : Reverse String def reverseString(self, s: List[str]) -> None: left, right = 0, len(s) - 1 while left None: s.reverse() 포인트 .reverse() 기법 사용 def reverseString(self, s: List[str]) -> None: s[:] = s[::-1] 포인트 본래 s = s[::-.. 더보기
[Python] Leet Code 125 : Valid Palindrome 풀이 및 분석 본 내용은 를 참고했습니다. Leet Code 125 : Valid Palindrome def isPalindrome(self, s: str) -> bool: strs = [] for char in s: if char.isalnum(): strs.append(char.lower()) while len(strs) > 1: if strs.pop(0) != strs.pop(): return False return True 포인트 .isalnum() : alphabet, number인지 판단 .pop(0) : 맨 앞 원소 pop, 그러나 O(n)으로 속도가 느림 def isPalindrome(self, s: str) -> bool: strs : Deque = collections.deque() for char .. 더보기
[Python] 딕셔너리(dictionary) | Ordereddict(), defaultdict(), Counter() 출처: 파이썬 알고리즘 인터뷰, 박상길 파이썬의 딕셔너리는 키/값 구조로 이루어진 딕셔너리를 말한다 내부적으로는 해시 테이블로 구현되어 있다. 딕셔너리의 주요 연산 시간 복잡도 len(a) : O(1) a[key] : O(1) a[key] = value : O(1) key in a : O(1) 파이썬 3.6 이하에서는 입력 순서가 유지되지 않다 collections.OrderedDict()를 제공했다. 파이썬 3.7부터는 내부적으로 인덱스를 이용해 입력 순서를 유지하도록 개선돼었다. collections.defaultdict() 조회 시 항상 디폴트 값을 생성해 키 오류를 방지한다. from collections import defaultdict def def_value(): return "Not Pre.. 더보기
[Python] 파이썬 문법 - is 와 ==의 차이 | python is & == 출처: 파이썬 알고리즘 인터뷰, 박상길 파이썬의 비교연산자 중 is와 ==가 있다. 이 둘은 파이썬의 객체 구조와 관련이 깊다. is id() 값을 비교하는 함수이다. None은 null로서 값 자체가 정의되어 있지 않으므로 ==로 비교불가하다. if a is None: pass == 값을 비교하는 연산자이다. 예시 a = [1, 2, 3] a == a # True a == list(a) # True a is a # True a is list(a) # False 값은 동일하지만 list()로 한 번 더 묶어주면, 별도의 객체로 복사되고 다른 id를 갖게 된다. 따라서 is는 False가 된다. a = [1, 2, 3] a == copy.deepcopy(a) # True a is copy.deepcopy(.. 더보기
[Python] print | .join() | f-string print문을 이용해 python에서 출력하는 여러가지 방법들 정리 print('A1', 'B2') # A1 B2 p print('A1', 'B2', sep=',') # A1, B2 print('aa', end=' ' ) print('bb') # aa bb a = ['A', 'B'] print(' '.join(a)) # A B idx = 1 fruit = "Apple" print('{0}: {1}'.format(idx + 1, fruit)) # 2: Apple print('{}: {}'.format(idx + 1, fruit)) # 2: Apple print(f'{idx+1}: {fruit}') # 2: Apple - f-string은 파이썬 3.6+에서만 지원한다. 더보기
[Python] range | generator의 방식을 활용하는 대표적 함수 ragne는 제너레이터의 방식을 활용하는 대표적인 함수이다. 주로 for 문에서 쓰이며 쓰임은 다음과 같다. list(range(5)) # [0, 1, 2, 3, 4] range(5) # type(range(5)) type(range(5)) # for i in range(5): print(i, end= ' ') # 0 1 2 3 4 a = [n for n in range(1000000)] b = range(1000000) len(a) # 1000000 len(b) # 1000000 len(a) == len(b) # True b # range(0, 1000000) type(b) # sys.getsizeof(a) # 8697464 sys.getsizeof(b) # 48 둘다 동일한 100만 개.. 더보기
[파이썬] 타입 힌트 | Type Hint | PEP 484 파이썬은 대표적인 동적 타이핑 언어임에도, 타입을 지정할 수 있는 타입 힌트가 PEP484 문서에 추가되었다. 형태는 다음과 같다. # 변수 a: str = "1" b: int = 1 # 함수 def fn(a: int) -> bool: 타입 힌트를 명시적으로 선언하게 되면 가독성이 좋아지면 버그 발생 확률을 줄일 수 있다. 실제로는 강제 규약이 아니다 보니, 여전히 동적으로 할강될 수 있으므로 주의가 필요하다. mypy를 사용하면 타입 힌트에 오류가 있는지 자동으로 확인할 수 있다 pip install mypy mypy solution.py 더보기
[MySQL] 윈도우에서 mysql 실행하기 콘솔 $ mysql -h localhost -u root -p Enter password: [비밀번호 입력] mysql> .... 을 했는데 localhost 주소가 없다는 에러가 뜬 적이 있다면, 윈도우에서 mysql 서버가 실행이 안 된 것이다. 그렇다면 다음 순서로 진행하면 된다. 1. 윈도우 키 + R을 눌러, "services.msc"로 진입 위 목록에서 MySQL과 관련된 항목을 실행시켜줌 그리고 다시 cmd에서 같은 방법으로 진행하면 성공. 더보기
[HackerRank] Virtual Functions | 클래스 상속 | 가상함수 | 클래스 정적 멤버변수 Virtual Functions 이 문제의 핵심은 3가지이다. 클래스 상속의 사용 Professor class와 Student class는 Person class를 상속 받는다. 가상함수의 사용 Person class는 getdata와 putdata 2개의 가상함수를 사용한다. 클래스 정적 멤버변수의 사용 각 클래스의 정적 멤버변수가 존재해, 클래스 갯수를 count한다. 클래스 정적 멤버변수는 해당 클래스 내에서 공유된다. 모범답안 #include #include #include #include #include using namespace std; class Person{ public: string name; int age; virtual void putdata(){} virtual void getda.. 더보기
[HTML] 웹 상에 무료로 원하는 짤(gif), 이미지를 삽입해보자 | giphy | flaticon www.flaticon.com -> 무료 이미지 검색 [ Flaticon, the largest database of free vector icons Download all icons in SVG, PSD, PNG, EPS format or as webfonts www.flaticon.com ](https://www.flaticon.com) giphy.com -> 무료 짤 검색 [ GIPHY | Search All the GIFs & Make Your Own Animated GIF GIPHY is your top source for the best & newest GIFs & Animated Stickers online. Find everything from funny GIFs, reaction GIFs.. 더보기