본문 바로가기

분류 전체보기

(370)
[Python] 집합 집합 - 중괄호 { }로 감싸서 표현 - set() 함수를 사용 s1 = set([1, 2, 3]) s2 = set({1, 2, 3}) s3 = {1, 2, 3} - set()의 괄호 안에 리스트를 입력하여 만들거나 문자열을 입력하여 만들 수도 있음 s4 = set("Hello") - 비어 있는 집합 자료형 생성 s = set() 집합 자료형의 특징 ① 중복을 허용하지 않는다. s4 = set("Hello") # s4 = {'e', 'H', 'l', 'o'} ② 순서가 없다. → 인덱싱으로 값을 얻을 수 없다. set에 저장된 값을 인덱싱으로 접근하려면 리스트나 튜플로 변환 후 인덱싱 s1 = set([1, 2, 3]) l1 = list(s1) # l1 = [1, 2, 3] l1[0] # 1 교집합 구하..
[BOJ] 10868번 최솟값 (C++) https://www.acmicpc.net/problem/10868 10868번: 최솟값 N(1 ≤ N ≤ 100,000)개의 정수들이 있을 때, a번째 정수부터 b번째 정수까지 중에서 제일 작은 정수를 찾는 것은 어려운 일이 아니다. 하지만 이와 같은 a, b의 쌍이 M(1 ≤ M ≤ 100,000)개 주어졌을 때는 www.acmicpc.net #include #include using namespace std; long long arr[100001]; long long *tree; void init(int node, int start, int end) { if (start == end) { tree[node] = arr[start]; return; } init(2 * node, start, (star..
[BOJ] 20115번 에너지 드링크 (C++) https://www.acmicpc.net/problem/20115 20115번: 에너지 드링크 페인은 에너지 드링크를 좋아하는 회사원이다. 에너지 드링크는 카페인, 아르기닌, 타우린, 나이아신 등의 성분이 들어있어 피로 회복에 도움을 주는 에너지 보충 음료수이다. 야근을 마치고 한 www.acmicpc.net #include #include #include using namespace std; int main() { int n; double num; vector v; cin >> n; for(int i = 0; i > num; v.push_back(num); } sort(v.begin(), v.end()); double sum = v[n - 1]; for(int i = 0;..
[Typescript] 제네릭(Generics) 제네릭을 사용하면 클래스나 함수, 인터페이스를 다양한 타입으로 재사용할 수 있다. 다양한 타입을 인자로 받을 때 함수 오버로드나 유니온 타입을 사용해도 되지만 타입이 많아질수록 복잡해진다. 선언할 때는 타입 파라미터만 적어주고, 생성하는 시점에 타입을 결정한다. function getSize(arr: T[]):number{ return arr.length; } const arr1 = [1, 2, "a"]; getSize(arr1); // 3 const arr2 = ["a", "b", "c"]; getSize(arr2); // 3 const arr3 = [false, true, true]; getSize(arr3); // 3 제네릭으로 함수를 선언하고 사용하는 예시이다. T를 타입 파라미터라고 한다. 다른..
[Typescript] 클래스(Class) ↓ 클래스에 대한 개념이 없다면 참고 https://winterflower.tistory.com/178 타입스크립트에서 클래스를 작성할 때는 멤버 변수를 미리 선언해주어야 한다. class car{ color: string; constructor(color: string){ this.color = color; } start(){ console.log("start"); } } const bmw = new Car("red"); 멤버 변수를 미리 선언하지 않는 방법도 있다. 접근 제한자나 readonly 키워드를 이용하면 된다. class car{ constructor(public color: string){ this.color = color; } start(){ console.log("start"); } }..
[BOJ] 7983번 내일 할거야 (C++) https://www.acmicpc.net/problem/7983 7983번: 내일 할거야 내일(1일)부터 연속으로 최대 며칠 동안 놀 수 있는지를 출력한다. 가령, 답이 0이면, 내일 과제를 해야 하며, 1 이면, 모레에 과제를 해야 한다. www.acmicpc.net #include #include #include using namespace std; bool compare(pair& a, pair& b){ return a.second > b.second; } int main() { int n, d, t; cin >> n; vector v; for(int i = 0; i > d >> t; v.push_back({d, t}); } sort(v.begin(), v.end(),..
[BOJ] 11505번 구간 곱 구하기 (C++) https://www.acmicpc.net/problem/11505 11505번: 구간 곱 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 곱을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net #include #include #include using namespace std; int N, M, K; long long arr[1000001]; long long *tree; long long init(int node, int start, int end) { if (start == end) { return tree[node] =..
[BOJ] 2042번 구간 합 구하기 (C++) https://www.acmicpc.net/problem/2042 2042번: 구간 합 구하기 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)과 M(1 ≤ M ≤ 10,000), K(1 ≤ K ≤ 10,000) 가 주어진다. M은 수의 변경이 일어나는 횟수이고, K는 구간의 합을 구하는 횟수이다. 그리고 둘째 줄부터 N+1번째 줄 www.acmicpc.net #include #include #include using namespace std; int N, M, K; long long arr[1000001]; long long *tree; long long init(int node, int start, int end) { if (start == end) { return tree[node] = a..