본문 바로가기 메뉴 바로가기

da_velop

프로필사진
  • 글쓰기
  • 관리
  • 태그
  • 방명록
  • RSS

da_velop

검색하기 폼
  • 분류 전체보기 (14)
    • 졸업프로젝트 (0)
    • 알고리즘공부 (14)
  • 방명록

전체 글 (14)
[Python] re

정규식 HOWTO docs & re 라이브러리 docs re : 파이썬에서 정규식을 사용하기 위한 모듈 import re 메타문자 메타 문자 목록은 다음과 같다. . ^ $ * + ? { } [ ] \ | ( ) 문자 일치 1. [ ] 일치시키려는 문자 집합인 문자 클래스를 지정하는 데 사용한다. 문자는 개별적으로 나열되거나, 두 문자를 주고 '-'로 구분하여 문자의 범위를 나타낼 수 있다. [abcde] = [a-e] : 'a', 'b', 'c', 'd', 'e' 클래스 내에서는 메타문자의 특수성이 사라진다. [a-c+^] : 'a', 'b', 'c', '+', '^' ^를 클래스의 첫 번째 문자로 포함시켜 클래스 내에 나열된 문자들의 여집합을 정의할 수 있다. [^5] : '5'를 제외한 모든 문자ㅇ..

알고리즘공부 2021. 5. 19. 22:43
[Python] rjust, ljust, zfill

세 가지 모두 문자열을 정렬하는 데 사용하는 내장함수이다. 1. rjust 왼쪽에 공백을 메워 오른쪽으로 정렬한다. 인자는 (문자열 길이, 공백을 메울 문자) a = '11'.rjust(5, '2') print(a) >> 22211 2. ljust 오른쪽에 공백을 메워 왼쪽으로 정렬한다. 인자는 (문자열 길이, 공백을 메울 문자) a = '11'.rjust(5, '2') print(a) >> 11222 3. zfill 왼쪽에 0을 채워 정렬한다. 공백을 메울 문자 인자를 '0'으로 하는 rjust 함수와 같다. a = '11'.zfill(5) print(a) >> 00011

알고리즘공부 2021. 5. 12. 20:26
[Python] zip

Zip() : 두 그룹의 데이터를 서로 엮어주는 내장 함수 - 여러 개의 iterable한 객체를 인자로 받아서 - 각 객체가 담고 있는 원소를 튜플의 형태로 차례로 접근할 수 있는 iterator를 반환 numbers = [1, 2, 3] letters = ['A', 'B', 'C'] for pair in zip(numbers, letters): print(pair) >> (1, 'A') >> (2, 'B') >> (3, 'C') absolutes = [4, 7, 12] # 절댓값 signs = [true, false, true] # 부호 arr = [a if s else -a for a, s in zip(absolutes, signs)] print(sum(arr)) >> 9

알고리즘공부 2021. 5. 9. 19:33
[Python] lambda

람다 표현식을 사용하면 함수를 매우 간단하게 작성할 수 있다. - 특정한 기능을 수행하는 함수를 한 줄에 작성할 수 있다. - 한번 쓰이고 다음줄로 넘어가면 heap 영역에서 증발, 메모리를 절약할 수 있다. lambda 매개변수 : 리턴값 일반적인 함수를 람다 함수로 바꾸는 법 # 일반적인 함수 사용 def add(a, b): return a + b x = add(3, 5) # 람다 함수 사용 x = (lambda a, b: a + b)(3, 5)​ 정렬의 key 매개변수와 함께 사용하기 리스트 메서드 sort()와 내장함수 sorted() 모두 key라는 인자를 기준으로 정렬함 key 인자에 함수를 넘겨주면 해당 함수의 반환값을 비교하며 정렬하는 것 # 튜플의 두번째 값을 기준으로 정렬하기 arr =..

알고리즘공부 2021. 5. 9. 16:59
[수학] 소수 판별하기, 모든 소수 구하기

1. 주어진 수가 소수인지 판별하기 - 약수 구할 때 제곱근을 이용하는 방식과 같음 - 2부터 n에 루트를 씌운 값까지만 반복하면서 나누어 떨어지는 값이 있으면 반복문 종료 def is_prime_num(n): for i in range(2, int(n ** 0.5) + 1): if n % i == 0: return False return True ※ 여기서는 n이 1일 때를 고려하고 있지 않은데, 1은 소수가 아니므로 n이 1일 수도 있으면 if로 처리해줘야 함 2. 모든 소수 구하기 - 에라토스테네스의 체 2부터 n까지의 모든 자연수를 나열한다. 남은 수 중에서 아직 처리하지 않은 가장 작은 수 i를 찾는다. 남은 수 중에서 i의 배수를 모두 제거한다. (i는 제거하지 않는다.) 더 이상 반복할 수 ..

알고리즘공부 2021. 5. 7. 18:59
[수학] 약수 구하기

1. 1부터 n까지 나눠가면서 나누어 떨어지는 수 찾기 factors = [x for x in range(1, n + 1) if n % x == 0] 2. 1부터 n/2까지만 나눠가면서 나누어 떨어지는 수 찾기 - 어떤 수의 절반보다 큰 수는 약수가 될 수 없음을 이용 - n은 포함되지 않으므로 따로 추가해줘야 함 factors = [x for x in range(1, (n // 2) + 1) if n % x == 0] factors.append(n) 3. 제곱근을 이용하는 방법 30의 약수는 1, 2, 3, 5, 6, 10, 15, 30 이며, 1x30, 2x15, 3x10, 5x6 과 6x5, 10x3, 15x2, 30x1 의 대칭 관계가 성립함 즉, 앞의 4개만 찾으면 뒤의 4개는 자동으로 찾아짐 ..

알고리즘공부 2021. 5. 6. 18:40
[Python] 문자열, 리스트 뒤집기

1. reverse reverse는 리스트 타입에서 제공하는 함수이다. a = ['a', 'b', 'c', 'd', 'e'] a.reverse() print(a) >> ['e' , 'd', 'c', 'b' 'a'] 2. reversed reversed는 내장함수로, 객체를 반환한다. reverse와 달리, 문자열에도 바로 적용 가능하다. 문자열을 뒤집은 후 join으로 바로 연결할 수 있다. s = 'abcde' print(reversed(s)) >> print(''.join(reversed(s))) >> 'edcba' 3. 슬라이싱 a = ['a', 'b', 'c', 'd', 'e'] print(a[::-1]) >> ['e' , 'd', 'c', 'b' 'a'] s = 'abcde' print(s[::..

알고리즘공부 2021. 5. 5. 22:09
[Python] 리스트 원소 삭제

1. del del a[x]는 x번째 원소값을 삭제한다. a = [1, 2, 3] del a[1] print(a) >> [1, 3] 2. pop pop()은 리스트의 맨 마지막 원소를 반환하고 그 원소는 삭제한다. a = [1,2,3] print(a.pop()) >> 3 print(a) >> [1, 2] 3. remove remove(x)는 리스트에서 첫 번째로 나오는 x를 삭제하는 함수이다. a = [1, 2, 3, 1, 2, 3] a.remove(3) print(a) >> [1, 2, 1, 2, 3] 4. 리스트 컴프리헨션 remove()의 시간복잡도는 O(N)이므로, 특정한 값을 가진 원소를 모두 제거하고 싶을 때는 이 방법을 사용한다. data = [1, 2, 1, 6, 6, 6] remove_s..

알고리즘공부 2021. 5. 5. 20:23
[Python] Enumerate

인덱스와 값이 같이 필요할 때 사용 iterable 자료형(list, set, tuple, dictionary, string)을 입력으로 받아 인덱스와 값으로 이루어진 tuple을 반환한다. 인덱스와 값을 각각 다른 변수에 할당하고 싶다면 언패킹해줘야 함. for entry in enumerate(['A', 'B', 'C']): print(entry) >> (0, 'A') >> (1, 'B') >> (2, 'C') for i, letter in enumerate(['A', 'B', 'C']): print(i, letter) >> 0 A >> 1 B >> 2 C

알고리즘공부 2021. 5. 5. 19:26
[Python] 자릿수 더하기

정수 x의 자릿수의 합 s를 구하는 문제 = 정수를 받아서 각 자릿수의 정수 리스트를 만들기 정수를 문자열로 변환해 인덱싱 가능하게 해주는 것으로부터 시작 문자열의 문자 하나하나를 int로 변환해 합해주기 1. 리스트 컴프리헨션 이용 s = sum([int(i) for i in str(x)]) 2. 내장함수 map 이용 s = sum(map(int, str(x)))

알고리즘공부 2021. 5. 5. 19:16
이전 1 2 다음
이전 다음

Blog is powered by Tistory / Designed by Tistory

티스토리툴바