본문 바로가기
반응형

Programming Language/Python10

[ 파이썬 python ] 비트 연산을 위해 알아야 할 것들 1. 입력 문자열을 숫자로 바꾸기 "34" 같은 문자열은 쉽게 숫자로 바꿀 수 있다. int로 감싸주기만 하면 된다. num = "34" int(num) 그런데 문자열이 "10111001"와 같이 0과 1만으로 이루어져있는 경우가 있다. 특히 비트 연산을 이용하여 풀어야 하는 문제의 경우 입력을 이와 같이 받게 되는 경우가 종종 생기는데, 그럼 이 문자열을 숫자로 고쳐줘야 한다. 이때 그냥 int로 감싸주면 정수 10111001(1천만 11만 1천 1)로 변환될 것이다. 이렇게 큰 수를 의도한게 아니므로 int로 변환시 이 문자열을 이진수로 인식하라는 명령을 내려줘야 하는데 파이썬에서는 다음과 같이 사용할 수 있다. int 메소드의 두번째 인자로 진법 수를 넘겨주면 된다. a = "10111001" pr.. 2021. 7. 22.
[파이썬 python] 리스트 list, 딕셔너리 dictionary 주요 메소드 예제 개인 공부를 위해 모았으며 별도의 설명은 생략 # list len(a) #O(1) a[i] #O(1) a[i:j] #O(k) elem in a #O(n) a.count(elem) #O(n) a.index(elem) #O(n) a.append(elem) #O(1) a.insert(idx, elem) #O(n) a.pop() #O(1) a.pop(0) #O(n) del a[i] #O(n) a.remove(elem) #O(n) a.sort() #O(nlogn) min(a)/max(a) #O(n) a.reverse() #O(n) ## dict len(a) #O(1) a[key] #O(1) a[key] = value #O(1) key in a #O(1) del a['key'] ## dictionary iterat.. 2021. 4. 17.
[python] 파이썬 - 리스트의 객체 복사 개념 - 예시 파이썬은 모든 것이 객체다. 숫자, 문자까지도 객체다. 숫자, 문자가 리스트, 딕셔너리 같은 객체와의 차이점이라면 불변 객체라는 차이뿐이다. 그러다 보니 별도로 값을 복사하지 않는 한, 변수에 값을 할당하는 모든 행위는 값 객체에 대한 참조가 된다. 즉, 참조가 가리키는 원래의 값을 변경하면 모든 참조, 즉 모든 변수의 값 또한 함께 변경된다. 다음 예시를 보면 쉽게 이해가 간다. b는 a를 참조하고 있기 때문에 a가 변경되면 b도 같이 변경된다. 반면 값 자체만을 복사하는 방법으로 [:] 또는 copy()를 사용하게 되면, a가 변경되어도 c와 d는 변경되지 않는다. >> a = [1,2,3] >> b = a >> c = a[:] >> d = a.copy() >> a += [4] >>print(a, b.. 2021. 4. 5.
[python] 파이썬 - 순열과 조합(itertools 활용 또는 dfs 활용 코드) 예제 itertools을 활용하면 순열과 조합을 쉽게 작성할 수 있다. 튜플의 형태로 결과를 리턴한다. >> import itertools >> a= [1,2,3] >> # permutations >> list(itertools.permutations(a)) [(1,2,3),(1,3,2),(2,1,3),(2,3,1),(3,1,2),(3,2,1)] >> list(itertools.permutations(a,2)) [(1,2),(1,3),(2,1),(2,3),(3,1),(3,2)] >> # combinations >> list(itertools.combinations(a,2)) ## 'combinations()' requires r-value. [(1,2),(1,3),(2,3)] #첫번째 인자로 리스트가 아닌 튜.. 2021. 4. 5.
[python] 파이썬 - 리스트 정렬 예제( 정렬 및 역정렬, key 와 람다식 활용한 조건 정렬) 코딩테스트에서 정렬은 매우 중요하다. 적재적소에 정렬을 사용하면 문제를 더욱 쉽게 풀 수 있다. 따라서 정렬에 관한 모든 내용을 적어보겠다. - 정렬은 기본적으로 파이썬에서 제공하는 .sort( )와 sorted( )로 가능하다. - .sort( )는 해당 리스트 자체를 바꿔버린다. sorted( )는 정렬된 리스트를 새로 반환한다. 이게 차이점. - 이때 정렬 순서는 문자열의 경우 알파벳순, 숫자의 경우 오름차순이다. - 파라미터 reverse=True를 설정하면 역순 정렬이 가능해진다. >>a = [1,3,5,4,2,7] >>sorted(a) [1,2,3,4,5,7] >>sorted(a, reverse = True) [7,5,4,3,2,1] >>b= ['c', 'd','a' ,'b'] >>b.sort.. 2021. 3. 27.
[python] 파이썬 - 문자열 메소드 예제 ( 쪼개기, 합치기, 문자 식별, 문자 대체 등) 코딩테스트 문제를 풀면서 느낀건 문자열에 관한 메소드를 많이 알수록 확실히 더 쉽게 가거나 유리해질 수 있다. 이곳에 유용할 만한 문자열 메소드를 다 써보겠다. text = 'hello' text.isalpha() # check if it consists of only alphabet. text.isalum() # check if it consists of only alphabet or number. text.isdigit() # check if it consists of only number. text.islower() # check if it consists of only lower case. text.isupper() # check if it consists of only upper case. te.. 2021. 3. 27.
반응형