분류 전체보기 (386) 썸네일형 리스트형 [JS/DOM] DOM API를 활용한 DOM node 조작하기 1. DOM(Document Object Model) : 브라우저에서는 HTML코드를 DOM이라는 객체모델로 저장한다. HTML tag들에 접근해 javascript가 html 문서를 보다 쉽게 조작 및 변경하기 위해서 html tag들을 javascript가 이용할 수 있는 객체로 만든 것이 곧 document object, 즉 문서 객체이다. 따라서 DOM은 웹 브라우저가 HTML 페이지를 인식하는 방식을 의미한다고 볼 수 있다. 다음과 같이 HTML element가 tree형태로 저장된 것이 DOM tree이다. 브라우저는 DOM API를 제공하여 DOM tree를 쉽게 찾고 조작할 수 있게해준다. 2. DOM API 실습 ctrl + shitf + I로 크롬 개발자 도구를 켜서 DOM API를 이.. [WEB] DAO, DTO 개념 및 실습 - JDBC(Java Database Connectivity) : 자바 프로그램 내에서 SQL문을 실행하기 위한 자바 API. (자바를 이용한 데이터베이스 접속과 SQL 문장의 실행, 그리고 실행 결과로 얻어진 데이터의 핸들링을 제공하는 방법에 대한 규약) JDBC 클래스 생성단계: DriverManager를 통해 Connection 객체를 얻는다. Connection을 통해 Statement를 얻는다. Statement를 통해 ResultSet을 얻는다. 질의 수행 & 결과 받은 후 객체를 생성 반대순서로 Close한다. - DAO(Data Access Object) : DAO, 말그대로 데이터베이스에 접근하기 위한 객체. DAO 구현을 통해 서비스 로직 부분과 DB에 접근하는 로직을 분리하여 작성할 .. [c++] 백준 13305 주유소 백준 단계별로 풀어보기 [그리디 알고리즘] 주유소 https://www.acmicpc.net/problem/13305 13305번: 주유소 표준 입력으로 다음 정보가 주어진다. 첫 번째 줄에는 도시의 개수를 나타내는 정수 N(2 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 인접한 두 도시를 연결하는 도로의 길이가 제일 왼쪽 도로부터 N-1 www.acmicpc.net [풀이] 가격이 가장 작은 주유소의 기름 최소값과 도로 거리를 곱할 수 있도록 비교해가며 min값을 설정한다. [코드] #include #include long long road[100000]; long long price[100000]; int main() { //주유소의 기름 가격과 각 도시를 연결하는 도로 길이를 입력, 최소의 .. [c++] 백준 11286 절댓값 힙 백준 단계별로 풀어보기 [우선순위 큐] 절댓값 힙 https://www.acmicpc.net/problem/11286 11286번: 절댓값 힙 첫째 줄에 연산의 개수 N(1≤N≤100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 0이 아니라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net [풀이] pair를 이용해서 입력된 수와 그 수의 절대값을 모두 큐에 저장한다. 우선순위 큐는 pair의 첫번째 인자를 기준으로 값을 저장하고, 그 값이 같다면 두번째 인자를 기준으로 저장한다. min_heap을 이용하여 절대값이 같다면 더 작은 수를 우선으로 저장해 출력하게 한다. [코드] #include #include #.. [c++] 백준 11279, 1927 최대 힙, 최소 힙 백준 단계별로 풀어보기 [우선순위 큐] 최대 힙, 최소 힙 https://www.acmicpc.net/problem/11279 11279번: 최대 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 www.acmicpc.net https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmic.. [c++] 백준 1018 체스판 다시 칠하기 백준 단계별로 풀어보기 [브루트포스] 체스판 다시 칠하기 https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net [풀이] 8*8 체스판을 만들기 위해 다시 칠해야 하는 정사각형의 최소 개수를 구하는 문제이다. 브루트포스 문제로 모든 경우의 수를 검사한다. 체스판의 시작인 맨 왼쪽 위 정사각형이 흰색인 경우 다시 칠해야 하는 정사각형 카운트를 w_cnt로, 검정색인 경우 다시 칠해야 하는 정사각형 카운트를 b_cnt로 해서 가장 작은 min_cn.. [c++] 백준 17298 오큰수 백준 단계별로 풀어보기 [스택] 오큰수 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net [풀이] 스택의 top에 저장된 인덱스의 배열 값과 비교하여 현재 배열 값이 더 크면 오큰수를 발견한 것이다. 따라서 오큰수를 발견한 값의 인덱스는 스택에서 pop해 지워준다. 오큰수에 해당하는 값은 ans[] 배열에 저장해준다. 스택의 top보다 현재 배열값이 더 작아지면 현재 배열값을 stack에 push해준다. for문이 종료되면 stack이 빌 때까지 stack.. [c++] 9461 파도반 수열 백준 단계별로 풀어보기 [동적계획법 1] 파도반 수열 https://www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net [풀이] 파도반 수열. 1 1 1 2 2 3 4 5 7 9 12 16 ... 이 수열만 보더라도 dp[n] = dp[n-2] + dp[n-3] 이라는 점화식을 구할 수 있다. 다만, 수가 커지면 int 범위를 넘어서기 때문에 int가 아니라 long long으로 선언 해야한다. 6번째 삼각형 = 3번째(1) + 5번째(2) 7번째 삼각형 = 6번째 .. 이전 1 ··· 40 41 42 43 44 45 46 ··· 49 다음