[Python] 백준 11659번 구간 합 구하기 4 # 구간 합 구하기 4 # 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오: # 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j가 주어진다. # 총 M개의 줄에 입력으로 주어진 i번째 수부터 j번째 수까지 합을 출력한다. # 1 Code/Python 2023.09.22
[자료구조] 구간 합 Do it! 알고리즘 코딩 테스트 - 파이썬 편 (김종관) 책을 이용하여 알고리즘 공부 중입니다 😃 https://youtu.be/O514yiWg8YE?si=2U5WPE1m75BjhSHN 리스트 A가 있을 때 합 배열 S의 정의 : S[ i ] = A[ 0 ] + A[ 1 ] + A[ 2 ] + ... + A[ i - 1 ] + A[ i ] 합 배열 S를 만드는 공식 : S[ i ] = S[ i - 1 ] + A[ i ] A[ i ] ~ A[ j ] 구간 합을 구하는 공식 : S[ j ] - s [ i - 1 ] S[ j ] = A[0] + A[1] + ...+ A[ i - 1 ] + A[ i ] + ... + A[ j ] S[ i ] = A[0] + A[1] + ...+ A[ i - 1 ] + A[ i.. Code/Algorithm 2023.09.22
[Python] 백준 1546번 평균 # 평균 # 자기 점수의 최댓값을 고른 후, 모든 점수에 점수/최댓값*100 을 한다. # 첫째 줄에 시험 본 과목의 개수 N( Code/Python 2023.09.22
[Python] 백준 11720번 숫자의 합 # 숫자의 합 # N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. # 첫째 줄에 숫자의 개수 N(1~100), 둘째 줄에 숫자 N개가 공백 없이 주어진다. # 입력으로 주어진 숫자 N개의 합을 출력한다. n = input() num = input() total = 0 for i in range(0, int(n)): b = num[i] total += int(b) print(total) 거의 4년만에 하는 파이썬이라 문법이 하나도 기억나지 않는다.. ;; for문부터 검색해가며 차근차근.. Code/Python 2023.09.22
[자료구조] 배열과 리스트 Do it! 알고리즘 코딩 테스트 - 파이썬 편 (김종관) 책을 이용하여 알고리즘 공부 중입니다 😃 https://youtu.be/_hP21RzyqHA?si=oMV1mj34PsWyGqXD 배열과 리스트는 자료구조와 파이썬에서 다른 의미로 사용된다. 우선 자료구조의 측면에서 살펴보자. 배열 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다. 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다. 구조가 간단하므로 코딩 테스트에서 많이 사용한다. 리스트 값과 포인터를 묶은.. Code/Algorithm 2023.09.21
[알고리즘] 논리 오류 탐색 방법, 디버깅 Do it! 알고리즘 코딩 테스트 - 파이썬 편 (김종관) 책을 이용하여 알고리즘 공부 중입니다 😃 https://youtu.be/zX76zhUL7ks?si=yzqvIKobAd-XJRSL 코드에서 디버깅하고자 하는 줄에 중단점을 설정하고, IDE의 기능을 실행하면 된다. PyCharm에서는 Variables 기능을 활용하면 변숫값 추적도 가능하다. 실수하기 쉬운 4가지 오류 변수 초기화 오류 변수 초기화를 제대로 하지 않아 다른 값이 저장되어 있는 경우이다. 이전 테스트 케이스의 결과값이 저장되어 있기도 하다. 모든 변수가 정상적으로 초기화 되고 있는지 디버깅을 이용해 확인하면 문제 해결에 도움이 된다. 반복문에서 인덱스 범위 지정 오류 배열은 0 ~ 10,000까지 생성했는데 반복문에서 범위를 0 ~ .. Code/Algorithm 2023.09.21
[알고리즘] 알고리즘 선택의 기준이 되는 시간 복잡도 Do it! 알고리즘 코딩 테스트 - 파이썬 편 (김종관) 책을 이용하여 알고리즘 공부 중입니다 😃 https://youtu.be/DYA2q0oX5CA?si=jHYk_9XMkehcbeIm 코딩 테스트의 핵심 중 하나는 주어진 시간 내에 문제를 해결하는 것 이를 위해선 시간 복잡도를 고려해야 한다. 파이썬은 일반적으로 초당 2,000만 번 ~ 1억 번의 연산을 수행한다. 시간 복잡도 유형 빅-오메가(Ω(n)): 최선일 때의 연산 횟수를 나타낸 표기법 빅-세타(θ(n)): 평균일 때의 연산 횟수를 나타낸 표기법 빅-오(O(n)): 최악일 때의 연산 횟수를 나타낸 표기법 코딩 테스트에선 최악인 경우를 기준으로 시간 복잡도를 계산하는 것이 좋다. 시간 복잡도는 데이터의 크기(N)에 따라 성능이 달라진다. 최악인.. Code/Algorithm 2023.09.21