알고리즘90 Python: sys.stdin.read() sys.stdin.readline() 차이점 정리 sys.stdin.read() sys.stdin.readline() 차이점 정리 sys.stdin.read()와 sys.stdin.readline()은 모두 sys.stdin에서 입력을 읽는 메서드입니다. 그러나 그들 사이에 중요한 차이점이 있습니다. sys.stdin.read() 이 메서드는 sys.stdin에서 입력을 읽고 문자열로 반환합니다. 입력 스트림의 끝에 도달할 때까지 모든 내용을 한 번에 읽습니다. 일반적으로 파일의 내용 전체를 한 번에 읽을 때 사용합니다. sys.stdin.readline() 이 메서드는 sys.stdin에서 입력을 한 줄씩 읽고 문자열로 반환합니다. 개행 문자(줄 바꿈)까지 읽은 후 문자열을 반환합니다. 따라서 각 호출은 한 줄을 읽습니다. 주로 대화형 입력이나 줄 단.. 알고리즘/Python 2023. 5. 16. 백준 알고리즘: 2750번 수 정렬하기 (Python) 문제 정보 2750번: 수 정렬하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net 핵심 사실 이 문제의 핵심이 있을까? 정렬 알고리즘이 최악의 경우에도 O(N^2) 이고, 문제에서 주어진 N의 최대 개수는 1,000에 불과하므로 최악의 경우 1,000,000 (백만 번)만 반복하면 되니까 아마 최악의 경우에서도 성공이 가능하지 않을까 싶다 하지만, Java도 그랬지만 Python도 .sort() 함수를 사용하면 평균 O(NlogN)의 시간복잡도로 정렬을 수행할 수 있기 때문에 정렬 함수를 따로 구현하거나 하지 않아도 되는 쉬운 문제였던 것.. 알고리즘/Python 2023. 5. 16. Python: 파이썬 문법 요약 파이썬 문법 요약 목차 기본 문법 변수 및 자료형: 변수 할당, 숫자형, 문자열, 리스트, 튜플, 딕셔너리, 집합 조건문과 반복문: if문, for문, while문 연산자: 산술 연산자, 비교 연산자, 논리 연산자 자료구조와 함수 리스트(List): 선언, 인덱싱과 슬라이싱, 리스트 관련 함수 문자열(String): 인덱싱과 슬라이싱, 문자열 관련 함수 튜플(Tuple): 선언, 인덱싱과 슬라이싱 딕셔너리(Dictionary): 선언, 추가 및 삭제, 키와 값 접근 집합(Set): 선언, 추가 및 삭제, 집합 연산 함수(Function): 함수 정의, 매개변수와 반환값, 람다 함수 정렬과 탐색 정렬(Sorting): 파이썬 내장 정렬 함수(sorted, sort), 정렬 라이브러리 (heapq, bise.. 알고리즘/Python 2023. 5. 16. 백준 알고리즘: 1920번 수 찾기 (Python) 문제 정보 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 핵심 단순 탐색 문제이나, 두개의 배열의 길이가 100,000으로 제한되어 있음 만일 순차 탐색으로 이 문제를 풀 경우 최대 100,000^2 번의 탐색이 필요할 수 있으므로 비효율적임 따라서 이진 탐색(Binary Search) 알고리즘을 활용하여 문제를 풀이함 풀이 # 수 찾기 N = int(input()) A = list(map(int, input().split())) A.sort() M = int.. 알고리즘/Python 2023. 5. 15. Python: 코딩테스트를 위한 기본 문법 정리 기초 출력 문장(문자열)을 포현하는 기호로 " 를 사용할 수도 있고, ' 를 사용할 수도 있다 print('"Hello World"') 큰따옴표, 작은따옴표를 출력하는 기호로 구분하려면 앞에 역슬래시(\)를 넣어주면 된다 print('\"!@#$%^&*()\'') print('\"C:\\Download\\\'hello\'.py\"') .split() 으로 받은 문자열을 슬라이싱 a, b = input().split() print(int(a)) print(int(b)) Seperator로 특정 분리기호를 통한 출력 a, b = input().split(':') print(a, b, sep=':') a, b = input().split('-') print(a, b, sep='') 아스키코드 - 문자 ord(.. 알고리즘/Python 2023. 5. 15. 이전 1 ··· 14 15 16 17 18 다음