본문 바로가기

etc/독서

[독서] 이것이 취업을 위한 코딩 테스트다 with 파이썬

728x90
반응형

[시작 전 정리]

https://www.youtube.com/watch?v=Mf0pYO8VAZk&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81

3 ~ 11강

 

1. 자료형

정수형 (Integer), 실수형 (Float)

age = 25
height = -175
zero = 0
_______________

pi = 3.14159
temperature = -12.5

 

 
 

2. 지수 표기법

지수 표기법

  • 큰 숫자나 작은 숫자를 간결하게 표현할 때 사용.
large_number = 1.23e+10 # 1.23 × 10^10 
small_number = 4.56e-5 # 4.56 × 10^-5

 

 

3. 부동소수점 오류 처리

부동소수점 오류 처리

  • 실수 계산에서 발생할 수 있는 오차를 줄이기 위해 round() 함수를 사용.
result = 1.0 / 3 
rounded_result = round(result, 2) # 0.33으로 반올림

 

 

4. 리스트 자료형

리스트 자료형

  • 설명: 여러 데이터를 하나의 구조에 담을 수 있는 자료형
fruits = ["apple", "banana", "cherry"]

 

리스트 연산 및 메서드

  • 추가: 리스트에 새로운 요소를 추가
  • 삭제: 리스트에서 특정 요소를 제거
  • 슬라이싱: 리스트의 일부분을 추출
fruits.append("orange") # fruits는 ["apple", "banana", "cherry", "orange"]
fruits.remove("banana") # fruits는 ["apple", "cherry", "orange"]
slice_fruits = fruits[1:3] # slice_fruits는 ["cherry", "orange"]

 

리스트 컴프리헨션

  • 반복문과 조건문으로 리스트를 만들 수 있는 문법.
squares = [x**2 for x in range(10) if x % 2 == 0] # squares는 [0, 4, 16, 36, 64]

 

 

5. 문자열과 튜플 자료형

문자열 자료형

  • 초기화: 큰따옴표(")나 작은따옴표(')로 문자열을 정의.
  • 이스케이프 문자: 문자열 내부에 특수 문자를 삽입할 때 백슬래시(\)를 사용.
  • 연산: 문자열끼리 더하거나 반복.
  • 인덱싱/슬라이싱: 특정 위치의 문자 또는 연속된 문자를 추출.
  • 불변성: 문자열은 한 번 생성되면 변경할 수 없다.
greeting = "Hello, World!"

message = "He said, \"Hello!\""

full_name = "John" + " " + "Doe" 
repeated = "Hello! " * 3

first_char = greeting[0] # "H"
substring = greeting[0:5] # "Hello"

greeting = "Hello" # greeting[0] = "J" # 오류 발생

 

튜플 자료형

  • 정의: 리스트와 유사하지만, 한 번 생성되면 값 변경이 불가.
  • 초기화: 소괄호(())로 선언.
  • 인덱싱/슬라이싱: 리스트와 동일하게 특정 위치의 원소에 접근 가능.
  • 용도: 불변성 덕분에, 해싱을 위한 키로 사용하거나 고정된 데이터 묶음에 유용.
coordinates = (10.0, 20.0)

point = (3, 4)

x = point[0] # 3 y = point[1:2] # (4,)

locations = {(1, 2): "A", (3, 4): "B"}

 

 

6. 사전 및 집합 자료형

사전 자료형 (Dictionary)

  • 정의: 키-값 쌍으로 데이터를 저장하며, 각 키는 고유해야 하고 조회 및 수정이 빠르다.
student_scores = {"Alice": 85, "Bob": 92}

조회: student_scores["Alice"] # 85
추가: student_scores["Charlie"] = 78
삭제: del student_scores["Bob"]

 

집합 자료형 (Set)

  • 정의: 중복을 허용하지 않으며, 순서가 없는 데이터 구조.
unique_numbers = {1, 2, 3, 4, 5}

추가: unique_numbers.add(6)
삭제: unique_numbers.remove(2)

교집합: unique_numbers & {4, 5, 6} 
합집합: unique_numbers | {6, 7}
차집합: unique_numbers - {1, 2}

 

 

7. 기본 입출력

입력 방법

  • input(): 사용자의 입력을 한 줄로 받는다.
  • split(): 입력된 문자열을 공백 기준으로 나누어 리스트로 변환.
  • map(): 입력된 값을 특정 형으로 변환.
  • 빠른 입력 (sys.stdin.readline()): 많은 데이터를 빠르게 입력받을 때 사용합. 줄바꿈 문자는 strip()으로 제거.
name = input("이름: ")

data = input().split()

numbers = list(map(int, input().split()))

import sys input = sys.stdin.readline 
name = input().strip()

 

출력 방법

  • print(): 데이터를 출력할 때 기본적으로 공백으로 구분.
  • 줄바꿈 방지 (end 파라미터): 줄바꿈을 방지하고 구분자를 설정.
  • f-string: 변수를 포함한 문자열을 간결하게 출력.
print("Hello", "World")

print("Hello", end=" ") 
print("World")

score = 95 print(f"학생의 점수는 {score}점입니다.")

 

 

8. 조건문과 반복문

조건문

  • if, elif, else: 조건에 따라 다른 로직을 실행.
  • 논리 연산자: and, or, not을 사용해 여러 조건을 결합.
  • 조건부 표현식: 한 줄로 조건문을 작성.
score = 85 
if score >= 90: 
	print("A") 
elif score >= 80: 
	print("B") 
else: 
	print("C")

if age > 18 and age < 65: 
	print("Adult")

result = "Even" if number % 2 == 0 else "Odd"

 

반복문

  • for 문: 주어진 범위나 리스트의 요소를 반복.
  • while 문: 주어진 조건이 참인 동안 반복.
for i in range(5): 
	print(i)

x = 0 while x < 10: 
	print(x) 
    x += 1

 

 

9. 함수

함수

  • 정의: 함수는 코드 블록을 재사용할 수 있는 단위.
  • 인자: 함수에 전달되는 값
  • 매개변수: 함수에서 정의된 변수
  • 글로벌 변수: 함수 외부의 변수를 수정하려면 global 키워드를 사용.
  • 여러 개의 반환 값: Python 함수는 튜플 형태로 여러 값을 반환할 수 있다.
def add(a, b): 
	return a + b
    
a = 0
def increment():
    global a
    a += 1

    
def calculate(a, b): 
	return a + b, a - b, a * b

 

 

10. 람다 표현식

람다 표현식

  • 정의: 짧은 함수를 한 줄로 정의할 수 있는 방법.
  • 사용 사례: 간단한 함수나 일회성 함수 정의에 유용.
     
add = lambda x, y: x + y

numbers = [(1, 2), (3, 4), (5, 6)] sorted_numbers = sorted(numbers, key=lambda pair: pair[1]) # sorted_numbers는 [(1, 2), (3, 4), (5, 6)]
728x90
반응형