[백준] 1912번 연속합 (C++) - 간단한 dp
2023. 3. 21. 16:19
solving/C, C++
1. 발상 dp[] 배열을 이용해 문제를 해결한다. dp[i] = dp[i-1]+arr[i] 의 합과 arr[i] 중 큰 것 정답은 dp[i]에 저장된 값 중 최댓값 배열 정렬하기 귀찮아서 그냥 벡터 사용해서 값을 모두 insert한 뒤 sort 이용해 정렬했다. 2. 소스코드 #include #include #include using namespace std; int main(){ cin.tie(NULL); ios::sync_with_stdio(false); int n; cin >> n; int arr[n]; int dp[n]; for(int i=0; i> arr[i]; } vector ans; dp[0] = arr[0]; ans.push_back(dp[0]); for(int i=1; i
[웹개발] 객체 지향 프로그래밍이란?
2022. 12. 8. 14:21
카테고리 없음
객체 지향 프로그래밍이란? object-oriented programming. Java, C++, C#, Python, PHP, Ruby, Object-C, Javascript 등 수많은 언어들이 객체 지향 프로그래밍 언어로 분류된다. 객체 지향 언어란, 사용자의 편의를 위해서 실생활에서 접할 수 있는 객체(Object) 의 특징들을 프로그래밍 언어에 접목시킨 것을 말한다. 이를 위해 객체의 핵심 개념 또는 기능만을 추출하는 추상화 (absctraction) 과정을 거친다. 객체는 서로 관계성이 있는 함수 또는 요소의 집합으로 프로그램이 구동된다. 각 객체는 큰 하나의 프로그램 안에서 각자의 역할을 수행하는 부품으로 생각할 수 있다. 반대어: 절차지향 프로그래밍. 단순한 명령어들의 집합 또는 함수들의 집..

[Javascript] 8장. 웹 문서를 다루는 방법, 문서 객체 모델 (DOM) (3)
2022. 11. 30. 18:38
스스로 공부하기/Javascript
08-3. 웹 요소의 태그 속성 가져와서 수정하기 지금부터는 접근한 웹 요소의 속성 노드에 접근하는 법을 알아볼 것이다. 선택한 상품의 이미지를 특정 위치에 표시하는 법을 실습하며 진행한다. getAttribute(), setAttribute() 이 두 함수는 HTML 태그의 속성을 가져오거나 수정하는 함수이다. 위에서 말한 기능을 구현하기 위해서는 - 1) 작은 이미지의 src 속성에 접근해 그 값 알아내기 (querySelector, getAttribute) 2) 큰 이미지의 src 속성을 알아낸 값으로 변경하기 (getAttribute, setAttribute) 두 가지를 수행하면 된다. 우선 이미지의 HTML 코드를 살펴보자. 여기에는 id값이나 class가 없기 때문에, img 태그를 이용해 접..

[Javascript] 8장. 웹 문서를 다루는 방법, 문서 객체 모델 (DOM) (1, 2)
2022. 11. 30. 17:25
스스로 공부하기/Javascript
08-1. 문서 객체 모델이란? DOM은 앞서 6장에서 객체를 다루며 설명한 적이 있다. (6장 링크) DOM (문서 객체 모델, Document Object Model) 은 자바스크립트를 이용해 웹 문서를 제어하기 위해 사용되는 내장 객체를 말한다. 문서 객체 모델의 정의 DOM은 Document Object Mode의 준말로 돔이라고 읽는다. 문서 객체 모델을 DOM이라고 표기한다. DOM이란? 웹 문서의 모든 요소를 자바스크립트를 이용해 제어할 수 있도록 객체를 사용해 문서를 해석하는 방법 EX) 웹 문서의 텍스트, 이미지, 표 등은 모두 문서 객체 모델에 해당한다. 이게 무슨 말일까? DOM을 이용하지 않고 상세 설명 가리기 상품 정보 원산지 : 에디오피아 지 역 : 이르가체프 코체레 농 장 : ..

[Javascript] 7장. 배열을 쉽게 다루자! Array 객체 (3)
2022. 11. 26. 16:39
스스로 공부하기/Javascript
07-3. 여행 준비물 점검 프로그램 만들기 지금까지 Array 객체와 그 대표적인 함수들의 기능에 대해 알아보았다. 이제 이를 활용하여 여행 준비물 점검 프로그램을 만들어 보자. 1. 필요한 기능, 실행 순서 설정하기 준비물을 추가하고 지울 수 있는 프로그램 작성 2. 만드는 과정 미리 생각해 보기 - 배열 만들기: 준비물이 들어가 있는 배열을 만든다. (저장되어 있는 공간) - 챙길 물건 배열에 추가하기: 원하는 위치에 추가하기 위해서 push() 함수를 사용한다. - 추가한 내용 화면에 표시하기: for문을 이용해야 할 것이다. - 챙긴 물건 배열에서 삭제하기: 특정 위치의 목록을 삭제하기 위해서 splice() 함수를 사용한다. 3. 입력 필드 만들기 여행 준비물 점검 목록 추가 먼저 이런 식으로..
[Javascript] 7장. 배열을 쉽게 다루자! Array 객체 (1, 2)
2022. 11. 23. 20:06
스스로 공부하기/Javascript
여러 개의 항목을 하나의 변수에 저장해야 할 때 -> 배열 (array) 를 사용한다. 07-1. 객체란? Array 객체로 배열 만들기 - 리터럴 표기법으로 객체 만들기 / 객체의 인스턴스를 이용해 배열 만들기 2가지 방법이 있다. - 전자는 3장에서 다루었으므로, 후자에 대해서 서술한다. Array(); 객체가 만들어져 있으므로 그냥 인스턴스를 선언하면 된다. 예약어는 마찬가지로 new 사용 > var myArray = new Array(); 배열의 크기 지정 시 괄호 안에 숫자 쓰기 숫자 쓰지 않을 경우, 얼마든지 많은 자료 표기 가능 -초기값이 있을 경우 > var numbers = ["one", "two", "three", "four"]; // 리터럴 표기법 > var numbers = new ..

[백준] 5639번 이진 탐색 트리 (C++) - binary search tree
2022. 11. 21. 14:05
solving/C, C++
발상 우선 전위 탐색을 통해 얻은 tree가 주어지므로, 이를 배열에 입력받는다. 그리고 아래 그림과 같은 이분 탐색을 거치면, 후위 탐색으로 배열을 바꿀 수 있다. 전위 탐색 : root -> left -> right 후위 탐색 : left -> right -> root 이므로 순서를 바꾸어준다. 소스코드 #include #include using namespace std; int tree[10001]; void postorder(int start, int end){ if(start == end) { cout