목록알고리즘/파이썬 (2)
DecordRay
주로 문자열을 문제가 많이나오는 코딩테스트 문제에서 활용도가 높은 기법(Ex-카카오) Python에서 리스트를 슬라이싱해서 활용하는 방법을 알아보자!! 파이썬 슬라이싱(slicing)이란? 슬라이싱(slicing) or 슬라이스(slice): 연속적인 객체들에(예: 리스트, 튜플, 문자열) 범위를 지정해 선택해서 객체들을 가져오는 방법 및 표기법을 의미한다. 슬라이싱을 하면 새로운 객체를 생성하게 된다. 즉, 일부분을 복사해서 가져온다고 생각하면 된다. 기본 형태 a라는 연속적인 객체들의 자료구조(예: 리스트, 튜플, 문자열)가 있다고 가정을 했을 때 기본 형태는 아래와 같다. a[start : end : step] 각각 start, end, step 모두 양수와 음수를 가질 수 있다. start: 슬라..
Python의 itertools 라이브러리를 이용하면 순열과 조합을 for문 없이 구현할 수 있다!!(유레카!) 순열 - permutation 순열이란 몇 개를 골라 순서를 고려해 나열한 경우의 수를 말한다. 즉, 서로 다른 n 개 중 r 개를 골라 순서를 정해 나열하는 가짓수이며 순열이라는 의미의 영어 ‘Permutation’의 첫 글자 P를 따서 nPr로 표시한다. 출처 : [네이버 지식백과] 순열 [Permutation, 順列] (두산백과) 순열은 순서를 고려하기 때문에 [A, B, C]의 리스트에서 2개의 원소를 골라 순서를 정해 나열하면 [(A, B), (A, C), (B, A), (B, C), (C, A), (C, B)] 가 나오게 된다. 즉 순열에서는 (A, B)와 (B, A)는 다른 것이다..