🐍 파이썬 코딩테스트 입문 문법 정리 (초보자용)

🐍 파이썬 코딩테스트 입문 문법 정리 (초보자용)

이 문서는 파이썬을 처음 접하거나 코딩테스트를 처음 준비하는 분을 위해 작성되었습니다.

 

파이썬의 경우, 간단한 문법과 간결한 코드 등으로 비전공자 및 새로 프로그래밍을 배우는 분들께 적합한 언어로 널리 알려져 있습니다. 코딩테스트에서는 실행속도가 느리다는 단점이 있으나, CP(competitive Programming)과 같이 대회 코딩테스트를 준비하시는 게 아닌 단순히 기업의 코딩테스트를 통과하기엔 큰 문제점은 없습니다.

 

특히 문자열 슬라이싱이나 Big Integer 등에서 강점 또한 갖고 있으며 다양한 수학 관련 라이브러리 등 파이썬의 장점 또한 존재합니다.


1️⃣ 변수 & 기본 자료형

a = 10
b = 3.14
c = "hello"
d = True

📌 설명

  • 파이썬은 변수 선언 시 타입을 명시하지 않습니다 (자바, C와 같은 컴파일 언어와는 다른점)
  • 동적 타이핑, 변수에 타입이 붙는 게 아니라, 값에 타입이 붙는다
  • 값이 들어가는 순간 타입이 자동으로 결정됩니다
타입 설명 예시
int 정수 10, -3
float 실수 3.14
str 문자열 "abc"
bool 참/거짓 True, False

2️⃣ 입력 / 출력 (코딩테스트 필수)

n = int(input())
a, b = map(int, input().split())

📌 설명

  • input()은 항상 문자열(str) 로 입력을 받음
  • 숫자로 사용하려면 반드시 int() 또는 float()로 변환
print(a, b)
  • print()는 자동 줄바꿈

3️⃣ 조건문 (if / elif / else)

if x > 10:
    print("big")
elif x == 10:
    print("same")
else:
    print("small")

📌 설명

  • : 뒤에는 반드시 들여쓰기 필요
  • 조건식 결과는 True / False
if 1 < x < 10:
    print("range")
  • 파이썬만 가능한 연속 비교 문법

4️⃣ 반복문 (for / while)

🔹 for문

for i in range(5):
    print(i)
  • range(5) → 0 ~ 4
range(start, end, step)
  • range(시작값, 끝값, 감소값) - 감소값에 -1를 넣어서 역순으로 돌릴 수도 있음

🔹 while문

while n > 0:
    n -= 1
  • 조건이 True인 동안 반복
  • 종료 조건 반드시 필요 (무한루프 주의)

5️⃣ 리스트 (List)

lst = [1, 2, 3]
lst.append(4)

📌 설명

  • 순서 O, 중복 O
  • 인덱스는 0부터 시작
lst[0]  # 첫 번째 값
len(lst)

6️⃣ 리스트 슬라이싱 ⭐⭐⭐

lst[start:end:step]
lst = [1,2,3,4,5]
lst[1:4]   # [2,3,4]
lst[::2]   # [1,3,5]
lst[::-1]  # 역순

📌 설명

  • end는 포함되지 않음
  • 코딩테스트에서 자주 응용이 가능함
  • 슬라이싱 개념에 대해서 제대로 배워두는 게 중요함

7️⃣ 문자열 (str)

s = "hello"
s[0]   # 'h'
s[-1]  # 'o'

📌 설명

  • 문자열도 리스트처럼 인덱스 사용 가능
  • 하지만 수정 불가 (immutable)

8️⃣ 문자열 ↔ 숫자 변환

str(123)     # "123"
int("123")   # 123
[int(x) for x in "123"]

9️⃣ 리스트 컴프리헨션 ⭐⭐⭐

[x * 2 for x in range(5)]

📌 설명

  • for문 + append를 한 줄로 표현
  • 가독성, 성능 모두 우수

🔟 자주 쓰는 내장 함수

len(lst)
sum(lst)
max(lst)
min(lst)
sorted(lst)

1️⃣1️⃣ 함수 (def)

def solution(n):
    return n * 2

📌 설명

  • 주로 코딩테스트에서는 print ❌ return ⭕ 을 사용하는 경우가 많다.

1️⃣2️⃣ enumerate

for i, v in enumerate(['a','b','c']):
    print(i, v)
  • 인덱스와 값을 동시에 얻을 때 사용

1️⃣3️⃣ 역순 처리

lst[::-1]
reversed(lst)

1️⃣4️⃣ set (중복 제거)

set([1,1,2,3])

1️⃣5️⃣ 딕셔너리 (dict)

d = {"a":1, "b":2}
d["a"]
  • key-value 구조

🎯 파이썬 입문자 최종 기초문법 정리

  • 슬라이싱 이해 = 절반 성공
  • 문자열과 리스트 자유자재로 다루기
  • 리스트 컴프리헨션 적극 사용