파이썬 기초 문법 문제를 대략 180개 정도 풀었더니 약간 자신감이 생겨서이젠 진짜 알고리즘 강의를 들어봐도 좋을 것 같다는 생각이 들었다.유튜브에 이코테 강의가 있어서 한번 들어봤다. 시간제한(수행시간 요구사항)시간 제한이 1초인 경우, (파이썬의 경우) 해당 시간 복잡도의 알고리즘을 구현하는게 좋다.( 여기서 N은, [1, 2, 3, 4] 일 경우 4 가 된다.)N의 범위시간 복잡도명칭500O(N3)삼차 시간2,000O(N2)이차 시간100,000O(NlogN)로그 선형 시간10,000,000O(N)선형 시간 알고리즘 문제 해결 과정1. 지문 읽기. -- 컴퓨터적 사고를 통해 단계별로 접근2. 요구사항(복잡도) 분석.3. 문제 해결을 위한 아이디어 찾기4. 소스코드 설계 및 코딩 : 대부분의 문제는 ..
문자열.find(부분값)- 문자열의 왼쪽(앞)에서부터 부분값을 찾는다. 가장 처음 나온 인덱스를 리턴. 문자열.rfind(부분값)- 문자열의 오른쪽(앞)에서부터 부분값을 찾는다. 동일. 문자열.index(부분값) 문자열.rindex(부분값)- find, rfind 와 동일하게 진행된다.- 단, find 는 문자열에 부분값이 존재하지 않아도 error 를 일으키지 않지만index 는 error 를 일으킨다. 문자열.startswith(부분값)문자열.endswith(부분값)- 문자열에 부분값으로 시작하는지, 끝나는지 True/False 로 리턴 # pat로 끝나는 가장 긴 부분 문자열# pat은 반드시 myString의 부분 문자열로 주어집니다.# 대문자와 소문자를 구분합니다.def longest_pa..
// myString의 연속된 부분 문자열 중 pat이 존재하면 1을 그렇지 않으면 0return +(myString.toUpperCase().includes(pat.toUpperCase())); 단항연산자 (+)문자열을 숫자로 변환해 줌boolean 값을 숫자로 바꿀 때 용이할 듯! '''리스트(배열), 문자열# 71) 조건에 맞게 수열 변환하기 1# 72) 조건에 맞게 수열 변환하기 2# 73) 1로 만들기# 74) 길이에 따른 연산# 75) 원하는 문자열 찾기'''# 71) ==========================================================================# 50보다 크거나 같은 짝수라면 2로 나누고, 50보다 작은 홀수라면 2를 곱합니다.def..
# forresult = 1for n in numbers: result *= n# whileresult = 1i = 0while i [1] 루프 사용- 직관적이고 읽기 쉬움.- 안전함- 외부 모듈이 필요 없음.- 코드가 다소 긴 편. from functools import reducereduce(lambda x, y: x * y, numbers) [2] functools.reduce- 코드 간결.- 외부 모듈 필요. import mathmath.prod(numbers) [3] math.prod (Python 3.8 이상)- 가장 간결하고 직관적. (가능하면 reduce 보다 prod 추천)- 버전 확인 필요. eval('*'.join(map(str, numbers)))eval('*'.join([s..
[1] do-whilewhile True: # 실행문 if 조건: break 파이썬에서 do while 문은 while True 로 따라할 수 있다.꼭 조건문과 break 를 써서 무한 루프를 만들지 말자. [2] 리스트 복사original = [1, 2, 3]# 단순 복사copy1 = original# 얕은 복사copy2-1 = original.copy()copy2-2 = original[:]# 깊은 복사copy3 = copy.deepcopy(original) 1. 단순 복사original 과 copy1 은 같은 주소값을 가리킨다. 단지 이름만 다를 뿐이다.즉, original 을 변경하거나 copy1 을 변경할 경우 서로에게 동시에 영향을 준다. 2. 얕은 복사copy2 를 수정..
'''리스트(배열)# 66) 홀수 vs 짝수# 67) 5명씩# 68) 할 일 목록# 69) n보다 커질 때까지 더하기# 70) 수열과 구간 쿼리1'''# 66) ====================================================================# 가장 첫 번째 원소를 1번 원소라고 할 때, 홀수 번째 원소들의 합과 짝수 번째 원소들의 합 중 큰 값을 returndef odd_vs_even(num_list): odd, even = 0, 0 odd = sum(num for num in num_list[1::2]) even = sum(num for num in num_list[::2]) return max(odd, even)'''return max(..