자바로만 코딩 테스트를 보다가 파이썬으로 갈아타니까 아주 편하고 신기한게 많다...!
우선 파이썬의 자료형에 대해 이야기해보고자 한다. (자료 출처: 이것이 코딩 테스트다 with 파이썬 )
대박이다. 왜 이렇게 편한게 많지
편한 자료형들과 그 사용법
1. 리스트 인덱싱과 슬라이싱
파이썬은 일반 배열 대신에 리스트를 주로 사용한다. (일반 배열도 있긴 하지만 잘 안 쓴다.)
이때 리스트의 인덱스 값에 음수를 넣으면 원소를 거꾸로 탐색할 수 있다..!
a = [1,2,3,4]
print(a[-1])
# 출력값: 4
그리고 슬라이싱을 사용하면 연속적인 위치의 원소들을 가져올 수 있다.
a = [1,2,3,4,5,6]
print(a[2:4])
# 출력: [3, 4] -> 3번째부터 4-1번째까지 가져옴
너무 편하다...!
+ 추가 활용법 예시!
a[:3] # 처음부터 2번째까지 (=3번째 인덱스 전까지)
a[3:] # 3번째부터 끝까지
a[:] # 전체 복사
2. 리스트 컴프리헨션
한 줄로 리스트를 초기화 하는 아주 편한 방법이다.
만약 0~10 사이의 홀수로만 이루어진 리스트를 만들고 싶으면 이렇게 한 줄로 조건문, 반복문 다 넣을 수 있다.
arr = [i for i in range(10) if i % 2 == 1]
print(arr)
# 출력: [1,3,5,7,9]
근데 여기서 잠깐~~
얕은 복사를 피하기 위해 리스트 컴프리헨션을 사용해야만 경우도 있다.
보통 1차원 배열을 0으로 초기화 한다고 하면
arr = [0] * 4
print(arr)
# 출력: [0,0,0,0]
이렇게 만드는데 그렇다면 2차원 배열을 초기화할 때
arr = [[0] * 4] * 3
print(arr)
# 출력: [[0,0,0,0],[0,0,0,0],[0,0,0,0]]
# 제대로 나온 것 같지만..!
이렇게 만들어야 한다고 생각하기가 쉽다
물론 당장 출력해보면 2차원 배열이 제대로 만들어진 것 같겠지만 처음에 만들어진 [0] * 4 배열에 대한 레퍼런스가 3개 만들어진 것이다.
그래서 arr[0],[1] 값을 바꾸면 arr[1],[1], arr[2][1] 값도 똑같이 바뀔 것이다.
이런 문제를 만들지 않기 위해
arr = [[0 for _ in range(4)] for _ in range(3)]
print(arr)
# 출력: [[0,0,0,0],[0,0,0,0],[0,0,0,0]]
이렇게 리스트 컴프리헨션을 사용해야 한다.
3. 집합 자료형
집합 자료형을 이용해서 너무나 쉽게 합집합, 교집합, 차집합을 구할 수 있다!
집합 자료형은 자바의 set 과 비슷하다고 보면 된다.
중복을 허용하지 않고, 순서가 없다.
a = set([1,2,3,4,5])
b = set([2,4,6,8])
print(a | b) # 합집합 출력: {1, 2, 3, 4, 5, 6, 8}
print(a & b) # 교집합 출력: {2, 4}
print(a - b) # 차집합 출력: {1, 3, 5}
너무 편해...
아직 기초 문법을 공부하고 있어서 자료형만 이야기했지만 앞으로 다른 문법과 라이브러리 공부하면서 편리한거 있으면 정리해두겠다. 모두 파이썬 코테보자

'알고리즘' 카테고리의 다른 글
| 달리기 경주 - 프로그래머스 python (0) | 2026.02.05 |
|---|---|
| 프로그래머스 - 체육복 with Python (0) | 2025.07.08 |
| 파이썬 코테 준비 시작~! (1) | 2025.07.07 |
| 백준 1260번 DFS와 BFS (2) | 2025.06.26 |
| 백준 10798 세로읽기 - char 배열에서 빈 곳 감지하기 (0) | 2025.01.05 |