입력 받기 - input( ) input()의 경우 한 줄의 문자열을 입력 받도록 해준다. data = input() 입력받은 데이터를 정수형 데이터로 처리해야하는 경우 int() 함수를 사용한다. n = int(input()) 코딩 테스트>> 여러 개의 데이터를 입력받을 때는 데이터가 공백으로 구분되는 경우가 많다. 그래서 입력받은 문자열을 띄어쓰기로 구분하여 각각 정수 자료형의 데이터로 저장하는 코드의 사용 빈도가 매우 높다. data = list(map(int, input().split())) input()으로 입력받은 문자열을 split()을 이용해 공백으로 나눈 리스트로 변환한다. map을 이용해 해당 리스트의 모든 원소에 int() 함수를 적용한다. 최종적으로 그 결과를 list로 다시 바꿔준..
코딩 테스트>> 코딩 테스트에서 테스트 케이스(Test Case)가 입력된 뒤에 테스트 케이스만큼 특정한 알고리즘을 수행한 결과를 반복적으로 출력하도록 요구하는 문제가 출제되는 경우가 많다. 이러 때 문제를 푸는 코드를 함수화하면 매우 효과적으로 풀 수 있다. 함수 (function) def 함수명(매개변수): 실행할 소스코드 return 반환 값 예) 더하기 기능을 제공하는 함수 def add(a, b): return a + b print(add(3, 7)) # 10 동일한 함수를 return문 없이 작성하는 경우 아래와 같이 작성할 수 있다. def add(a, b): print("함수의 결과: ", a + b) add(3, 7) # 함수의 결과: 10 함수를 호출하는 과정에서 같이 인자(Argume..
코딩 테스트>> 반복을 사용할 때 while문, for문 둘 다 사용해도 상관 없지만, 코딩 테스트에서의 실제 사용 예시를 확인해보면, 대부분의 경우에서 for문의 소스코드가 더 짧은 경우가 많다. while 문 예) 1부터 9까지 각 정수의 합을 계산하는 경우 i = 1 result = 0 while i = 80: print(i + 1, "번 학생은 합격입니다.") 반복문의 중첩 예) 구구단 for i in range(2, 10): for j in range(1, 10): print(i, "X", j, "=", i * j) print()
1. Set (집합) Set은 다음과 같은 특징을 갖는다. 중복을 허용하지 않는다. 순서가 없다. → sort 함수 사용 불가 키가 존재하지 않고, 값 데이터만을 담는다. 특정 원소가 존재하는지를 검사하는 연산의 시간 복잡도는 사전 자료형과 마찬가지로 O(1)이다. 집합 자료형의 초기화 집합은 기본적으로 리스트 혹은 문자열을 이용해서 만들 수 있으며, set() 함수를 이용하거나, 중괄호({}) 안에 각 원소를 콤마(,)를 기준으로 구분해서 넣으면 된다. data = set([1, 1, 2, 3, 4, 4, 5]) print(data) # {1, 2, 3, 4, 5} data = set("LLISAA") print(data) # {'L', 'I', 'S', 'A'} data = {1, 1, 2, 3, 4..
1. 딕셔너리 (dictionary) 딕셔너리는 키(Key)와 값(Value)의 쌍을 데이터로 가지는 자료형 - 데이터가 순서와 상관 없이 저장된다. - 키는 항상 고유해야한다. - 매핑 타입이다. (시퀀스 타입 X) data = dict() data['지수'] = 'JISOO' data['제니'] = 'JENNIE' data['로제'] = 'ROSE' data['리사'] = 'LISA' print(data) # {'지수': 'JISOO', '제니': 'JENNIE', '로제': 'ROSE', '리사': 'LISA'} 파이썬의 사전 자료형은 내부적으로 '해시 테이블(Hash Table)'을 이용하므로 기본적으로 데이터의 검색 및 수정에 있어서 O(1)의 시간에 처리할 수 있다는 장점을 갖는다. -> 키-..
파이썬의 튜플 자료형은 리스트와 거의 비슷한데 다음과 같은 차이가 있다. 튜플은 한 번 선언된 값을 변경할 수 없다. (원소의 대입(Item Assignment)이 불가능하다.) 리스트는 대괄호([])를 사용하지만, 튜플은 소괄호(())를 사용한다. a = (1, 2, 3, 4) print(a) # (1, 2, 3, 4) a[2] = 7 #TypeError: 'tuple' does not support item assignment 코딩 테스트>> 그래프 알고리즘을 구현할 때 튜플 자료형을 자주 사용한다. 다익스트라 최단 경로 알고리즘 최단 경로를 찾아주는 알고리즘의 내부에서는 우선순위 큐를 이용하는데 해당 알고리즘에서 우선순위 큐에 한 번 들어간 값은 변경되지 않는다. 따라서 우선순위 큐에 들어가는 데이..
문자열 초기화 문자열 변수를 초기화할 때는 큰따옴표(")나 작은따옴표(')를 이용한다. data = 'Hello World' data = "Hello Wordl" 문자열을 큰따옴표로 구성하는 경우, 내부적으로 작은따옴표를 포함할 수 있다. data = "I'm a programmer" 문자열을 작은따옴표로 구성하는 경우, 내부적으로 큰따옴표를 포함할 수 있다. data = 'I love "Python"' 백슬래시(\ = 이스케이프 문자)를 사용하면, 큰따옴표나 작은따옴표를 문자열에 원하는 만큼 포함시킬 수 있다. data = "Don't you know \"Python\"?" 문자열 연산 문자열 변수에 덧셈(+)을 이용하면 단순히 문자열이 더해져서 연결된다. a = "Hello" b = "World" p..
리스트 자료형 여러 개의 데이터를 연속적으로 담아 처리하기 위해 사용한다. C나 자바와 같은 프로그래밍 언어의 배열(Array) 기능을 포함하고 있으며, 내부적으로 연결 리스트 자료구조를 채택하고 있어 append(), remove() 등의 메서드를 지원한다. C++의 STL vector와 유사하며, 리스트 대신에 배열 혹은 테이블이라고 부르기도한다. 리스트 만들기 대괄호([])안에 원소를 넣어 초기화하며, 쉼표(,)로 원소를 구분한다. a = [1, 2, 3] 리스트의 원소에 접근할 때는 인덱스(Index) 값을 괄호 안에 넣는다. 인덱스는 0부터 시작한다. a[2] # 인덱스 2의 값 3을 가리킨다. 비어 있는 리스트를 선언하고자 할 때는 list() 혹은 간단히 대괄호([])를 이용할 수 있다. a..