python 8

[알고리즘] 구간 합 알고리즘

구간 합 알고리즘  합 배열 S 정의S[i] = A[0] + A[1] + ... + A[i-1] + A[i] 합 배열을 미리 구해 놓으면 기존 리스트의 일정 범위의 합을 구하는 시간 복잡도가 O(N)에서 O(1)로 감소한다.  합 배열 S를 만드는 공식S[i] = S[i-1] + A[i] i에서 j까지 구간 합을 구하는 공식S[j] - S[i-1] 합 배열과 구간 합 공식을 잘 사용하면 코딩 테스트에서 시간 복잡도를 줄이는 데 많은 도움이 된다.

python 2025.03.26

[백준 11720번] 숫자의 합 - python

https://www.acmicpc.net/problem/11720 작성 답안N = int(input())sum = 0list = map(int, input())for i in list: sum += iprint(sum) 타 풀이N = input()numbers = list(input())sum = 0for i in numbers: sum += int(i)print(sum)  ※ 형 변환int 형 변환: int(data)  # float, bool 변환 가능float 형 변환: float(data)  # int, bool 변환 가능str 형 변환: str(data)  # int, float, bool chr 변환 가능chr 형 변환: chr(data)  # int, bool 변환 가능bool ..

python 2024.11.23

[python] 배열과 리스트

파이썬에서는 리스트가 배열의 특성을 내포하고 있어서 크게 구분하지는 않지만 두 자료구조의 특징과 동작 원리를 알아보도록 하자.파이썬으로 배열 쓸 때 배열로 검색하면 내가 원하는 건 리스트라서 헷갈릴 때가 있었다. 다시금 바로잡기로해보자구~~ 배열메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조이다. 배열의 값은 index를 통해 참조할 수 있고 선언한 자료형의 값만 저장할 수 있다. 장점인덱스를 통해서 바로 값에 접근할 수 있다.배열의 크기를 지정하면 메모리 처리나 속도 측면에서 유리하다.구조가 간단하므로 코딩 테스트에서 많이 활용된다.  단점새로운 값을 삽입할 때 메모리가 모자랄 경우 새로운 메모리를 할당해서 모든 값을 이동시켜야 한다.배열 중간에 있는 값을 삽입하거나 삭제할 때 해당 인덱스 뒤에..

python 2024.11.23

[Python] 시간 복잡도 표기법 알아보기

알고리즘 공부를 시작해 보도록 하겠다.주언어가 C++이었는데 파이썬이 요즘 추세이면서 AI에 주로 쓰이기 때문에 익숙해지기 위해서 선택하였다.과연 성공적으로 적응할 수 있을 것인지~~ 파이팅~~!~! 먼저 알고리즘 공부를 시작하기 전 시간 복잡도에 대해 공부해보자. 시간 복잡도주어진 문제를 해결하기 위한 연산 횟수로 파이썬에서는 일반적으로 2000만번 ~ 1억 번의 연산을 1초의 수행 시간으로 본다. ( C++에서는 보통 1억 번의 연산을 1초로 배웠었다. ) 시간 복잡도 유형· 빅-오메가($Omega$(n)): 최선일 때(best case)의 연산 횟수를 나타낸 표기법· 빅-세타($theta$(n)): 평균일 때(average case)의 연산 횟수를 나타낸 표기법· 빅-오(O(n)): 최악일 때(wo..

python 2024.11.21