분류 전체보기127 백준 알고리즘: 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. Swift: Protocol과 Delegate DAY 18 Protocol과 Delegate Delegation Delegation(위임) 은 클래스나 구조체가 일부 책임을 다른 유형의 인스턴스로 전달(또는 위임)할 수 있도록 하는 디자인 패턴 위임된 기능은 프로토콜에서 정의하며, delegate가 위임된 기능을 제공 delegate 대리자, 조력자 델리게이트로 선언된 객체는 자신을 임명한 객체의 요청으로 지정된 메서드를 통하여 처리해 줌 델리게이트 패턴 하나의 객체가 모든 일을 처리하는 것이 아니라, 처리해야 할 일중 일부를 다른 객체에 넘기는 것 보통 프로토콜을 사용 프로토콜(protocol) 특정 클래스와 관련없는 property, method 선언 집합 함수(method) 정의는 없음 기능이나 속성에 대한 설계도 클래스(구조체, 열거형)에서 .. Dev/Swift 2023. 5. 15. 이전 1 ··· 17 18 19 20 21 22 23 ··· 26 다음