[이것이 취업을 위한 코딩테스트다 with 파이썬]
-
Ch6 정렬[이것이 취업을 위한 코딩테스트다 with 파이썬] 2023. 5. 3. 23:02
정렬: 데이터를 특정한 기준에 따라서 순서대로 나열하는 것, '알고리즘의 효율성' 정렬 알고리즘은 이진 탐색의 전처리 과정 선택 정렬 가장 작은 데이터를 선택해 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정 반복. '매번 가장 작은 것을 선택' 가장 작은 데이터를 앞으로 보내는 과정을 N-1번 반복하면 정렬이 완료 O(N^2) array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8] for i in range(len(array)): min_index = i for j in range(i+1, len(array)): if array[min_index] > array[j]: min_index = j array[i], array[min_inde..
-
Ch5 DFS/BFS[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2023. 5. 3. 22:11
꼭 필요한 자료구조 기초 탐색: 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정. 대표적인 탐색 알고리즘 → DFS/BFS 스택: LIFO, 파이썬에서 스택 이용할 때에는 별도 라이브러리 사용할 필요 없이 기본 리스트의 append()와 pop() 메서드 이용 stack = [] stack.append(5) stack.pop() print(stack) # 최하단 원소부터 출력 print(stack[::-1]) # 최상단 원소부터 출력 큐: FIFO, '공정한' 자료구조, 파이썬으로 큐를 구현할 때는 collections 모듈에서 제공하는 deque 자료구조 활용 deque 객체를 리스트 자료형으로 변경하고자 한다면 list() 메서드 이용 from collections import deque queu..
-
Ch3 그리디 / Ch4 구현[이것이 취업을 위한 코딩테스트다 with 파이썬] 2023. 5. 3. 09:34
Ch3 그리디 그리디 알고리즘 (= 탐욕법): '현재 상황에서 지금 당장 좋은 것만 고르는 방법' 코딩테스트에서는 사전에 외우고 있지 않아도 풀 수 있을 가능성이 높은 문제 유형 창의력, 문제를 풀기 위한 최소한의 아이디어를 떠올릴 수 있는 능력 요구 대부분의 문제는 그리디 알고리즘을 이용했을 때 '최적의 해'를 찾을 수 없을 가능성 문제 풀이를 위한 최소한의 아이디어를 떠올리고 이것이 정당한지 검토할 수 있어야 답을 도출할 수 있다. Ch4 구현 '풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제' 완전 탐색: 모든 경우의 수를 주저 없이 다 계산하는 해결 방법 시뮬레이션: 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행해야 하는 문제 유형
-
6. 주요 라이브러리의 문법과 유의점[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2022. 10. 26. 20:41
*이것이 취업을 위한 코딩 테스트다 with 파이썬(한빛미디어, 나동빈 링크)을 공부하며 정리한 내용입니다.* 코딩 테스트를 준비하며 반드시 알아야 하는 6가지 라이브러리 표준 라이브러리: 특정한 프로그래밍 언어에서 자주 사용되는 표준 소스코드를 미리 구현해 놓은 라이브러리 https://docs.python.org/ko/3/library/index.html The Python Standard Library While The Python Language Reference describes the exact syntax and semantics of the Python language, this library reference manual describes the standard library that i..
-
5. 입출력[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2022. 10. 26. 19:15
*이것이 취업을 위한 코딩 테스트다 with 파이썬(한빛미디어, 나동빈 링크)을 공부하며 정리한 내용입니다.* 데이터 입력 입력 과정 첫 번째 줄: 데이터의 개수, 그다음 줄: 처리할 데이터 입력을 위한 전형적인 소스코드 # 데이터의 개수 입력 n = int(input()) # 각 데이터를 공백으로 구분하여 입력 data = list(map(int, input().split())) data.sort(reverse = True) print(data) 공백을 기준으로 구분하여 적은 수의 데이터 입력 n, m, k = map(int, input().split()) 입력을 최대한 빠르게 받아야 하는 경우 C++: cin보다 scanf() 권장 파이썬: input()보다 sys.stdin.readline() im..
-
2. 조건문[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2022. 10. 26. 18:49
*이것이 취업을 위한 코딩 테스트다 with 파이썬(한빛미디어, 나동빈 링크)을 공부하며 정리한 내용입니다.* 파이썬 들여쓰기 스페이스 바 4번으로 습관 들이기 기타 연산자 X in 리스트: 리스트 안에 X가 들어가 있을 때 참(True) X not in 문자열: 문자열 안에 X가 들어가 있지 않을 때 참(True) 조건부 표현식 if score >= 80: result = "Success" else: result = "Fail" # 조건부 표현식 result = "Success" if score >= 80 else "Fail" 리스트에 있는 원소의 값 변경하여 또 다른 리스트 만들 때 유용 for i in a: if i not in remove_set: result.append(i) result = [..
-
1. 자료형[이것이 취업을 위한 코딩테스트다 with 파이썬]/코딩 테스트를 위한 파이썬 문법 2022. 10. 24. 15:50
*이것이 취업을 위한 코딩 테스트다 with 파이썬(한빛미디어, 나동빈 링크)을 공부하며 정리한 내용입니다.* 수 자료형 정수형: 정수를 다룬 자료형(양의 정수, 음의 정수, 0) 실수형: 소수점 아래의 데이터를 포함하는 수 자료형(소수점 붙인 수 대입할 경우) 유효숫자 e 지수승 = 유효숫자 * 10의 지수승 1e9 = 10의 9제곱 = 1,000,000,000 3954e-3 = 3.954 IEEE754 표준에서는 실수형 저장 위해 4바이트 / 8바이트라는 고정된 크기의 메모리 할당 → 컴퓨터는 실수를 정확히 표현하지 못한다. 실수형 데이터 비교할 때는 round(실수형 데이터, 반올림하고자 하는 위치 -1) 함수로 소수점 다섯 번째 자리에서 반올림한 결과가 같으면 정답으로 인정 a = 0.3 + 0...