Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 불리안
- 입출력
- 합집합
- html
- insert()
- 조건문 큰 수부터 입력받아야하는 이유
- 차집합
- 그룹 # 그룹 해체 # 단축키 #figma #Figma
- false
- 부스트캠프
- append()
- Java Script # == # === # difference # 차이
- index()
- 변수
- 리스트와 차이점
- 딥러닝
- Python
- del()
- 1일차
- 조지 불
- null # undefined
- 변수와 입출력
- 파이썬
- pop()
- 정보를 담을 수 있는 그릇
- a=1
- 귀도 반 로섬
- 성적 입력받기
- input()
- 변할 수 있는
Archives
- Today
- Total
I about me
[이것이 코딩테스트다] 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기 (1) 본문
해당 강의를 참고하여 공부를 진행했습니다.
https://www.youtube.com/watch?v=m-9pAwq1o3w&list=PLRx0vPvlEmdAghTr5mXQxGpHjWqSz0dgC
지극히 개인적으로 헷갈렸던 부분이나 몰랐던 내용에 대해서만 정리했습니다.
1강: 코딩 테스트 개요 및 출제 경향
https://github.com/ndb796/Python-Competitive-Programming-Team-Notes?tab=readme-ov-file
2강: 알고리즘 성능 평가
# 시간복잡도
# 빅오법
array = [3, 5, 1, 2, 4] # N개의 데이터
sum = 0
for i in array: # O(N)
sum += i
print(sum)
array = [3, 5, 1, 2, 4] # N개의 데이터
sum = 0
for i in array: # O(N^2)
for j in array:
temp = i * j
print(i * j)
# 시간 제한
# 알고리즘 문제 해결 과정
- 지문 읽기 및 컴퓨터적 사고
- 요구사항(복잡도) 분석
- 문제 해결을 위한 아이디어 찾기
- 소스코드 설계 및 코딩
# 시간 측정 방법
import time
start_time = time.time() # 측정 시작
# 프로그램 소스코드
end_time = time.time() # 측정 종료
print("time:", end_time - start_time)
3강: 파이썬 문법 - 수 자료형
02_실수형.py
# 소수부가 0일 때 0을 생략
a = 5.
print(a)
# 정수부가 0일 때 0을 생략
a = -.7
print(a)
03_지수표현방식.py
# 1000000000.0
a = 1e9
print(a)
# 752.5
a = 75.25e1
print(a)
# 3.954
a = 3954e-3
print(a)
04_실수형 더 알아보기.py
실수형일 때 조심해야한다.
그러므로 섬세한 조정이 필요하다.
a = 0.3 + 0.6
print(a) # 0.8999999999999999
if a == 0.9:
print(True)
else:
print(False) # False
b = 0.3 + 0.6
print(round(b, 4)) # 0.9
if round(b, 4) == 0.9:
print(True) # True
else:
print(False)
4강: 파이썬 문법 - 리스트 자료형
m = 4
n = 3
array = [[0] * m for _ in range(n)]
print(array) # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
array[1][1] = 5
print(array) # [[0, 0, 0, 0], [0, 5, 0, 0], [0, 0, 0, 0]]
아래는 잘못된 예시이다...
array = [[0] * m] * n # 주소값이 같은 객체가 복사되는 것임
print(array) # [[0, 0, 0, 0], [0, 0, 0, 0], [0, 0, 0, 0]]
array[1][1] = 5
print(array) # [[0, 5, 0, 0], [0, 5, 0, 0], [0, 5, 0, 0]]
[[0] * m] * n 이렇게 하면 주소까지 같은 객체가 복사되는 것이므로 array[1][1] = 5를 하면, [[0, 5, 0, 0], [0, 5, 0, 0], [0, 5, 0, 0]]가 된다.
5강: 파이썬 문법 - 문자열, 튜플 자료형
튜플을 사용하면 좋은 점
- 서로 다른 성질의 데이터를 묶어서 관리해야 할 때
- 최단 경로 알고리즘에서는 (비용, 노드 번호)의 형태로 튜플 자료형을 자주 사용합니다.
- 데이터의 나열을 해싱(Hashing)의 키 값으로 사용해야 할 때
- 튜플은 변경이 불가능하므로 리스트와 다르게 키 값으로 사용될 수 있습니다.
- 리스트보다 메모리를 효율적으로 사용해야 할 때
'Algorithm > 이것이 코딩테스트다!' 카테고리의 다른 글
[이것이 코딩테스트다] 5. 이진 탐색 (1) | 2024.07.22 |
---|---|
[이것이 코딩테스트다] 4. 정렬 (0) | 2024.07.19 |
[이것이 코딩테스트다] 3. DFS/ BFS (0) | 2024.07.18 |
[이것이 코딩테스트다] 2. 그리디 & 구현 (1) | 2024.07.18 |
[이것이 코딩테스트다] 1. 코딩 테스트 출제 경향 분석 및 파이썬 문법 부수기 (2) (0) | 2024.07.16 |