전체 글
-
합친 LIS알고리즘 풀이/알고리즘 해결전략 연습 2019. 7. 25. 17:57
문제 : https://algospot.com/judge/problem/read/JLIS 문제어떤 수열에서 0개 이상의 숫자를 지운 결과를 원 수열의 부분 수열이라고 부릅니다. 예를 들어 '4 7 6'은 '4 3 7 6 9'의 부분 수열입니다. 중복된 숫자가 없고 오름 차순으로 정렬되어 있는 부분 수열들을 가리켜 증가 부분 수열이라고 부르지요. 예를 들어 '3 6 9'는 앞의 수열의 증가 부분 수열입니다.두 개의 정수 수열 A 와 B 에서 각각 증가 부분 수열을 얻은 뒤 이들을 크기 순서대로 합친 것을 합친 증가 부분 수열이라고 부르기로 합시다. 이 중 가장 긴 수열을 합친 LIS(JLIS, Joined Longest Increasing Subsequence)이라고 부릅시다. 예를 들어 '1 3 4 7 ..
-
백준(BOJ) 2252번 줄 세우기알고리즘 풀이/백준(Boj) 2019. 7. 25. 02:27
문제 : https://www.acmicpc.net/problem/2252 문제N명의 학생들을 키 순서대로 줄을 세우려고 한다. 각 학생의 키를 직접 재서 정렬하면 간단하겠지만, 마땅한 방법이 없어서 두 학생의 키를 비교하는 방법을 사용하기로 하였다. 그나마도 모든 학생들을 다 비교해 본 것이 아니고, 일부 학생들의 키만을 비교해 보았다.일부 학생들의 키를 비교한 결과가 주어졌을 때, 줄을 세우는 프로그램을 작성하시오. 나의풀이 : DFS를 이용한 위상 정렬로 문제를 풀어 보았다. 1~N까지 dfs가 종료하는 순서를 기록한 뒤 이 순서를 뒤집는다. 그래프에 사이클이 없다면 이 순서는 그래프의 위상 정렬 결과가될 것. 코드 ( C ++ ) #include #include #include #include u..
-
함수와 프로토타입 체이닝Web/자바스크립트 2019. 7. 23. 20:05
함수 정의 자바스크립트 에서의 함수 정의 방법은 function이라는 키워드를 명시적으로 사용하고 있고 리턴값과 매개변수로 넘기는 값에 변수 타입등을기술하지 않는다는 점에서 차이가 있다. 함수 표현식으로 생성된 함수를 호출하려면 함수 변수를 사용해야 한다. ex ) var ex = function ex(n) {return n;}; 함수 이름이 없는 함수 형태를 익명 함수라고 부른다. 함수 표현식에서 사용된 함수 이름은 외부 코드에서는 접근 불가능하다. 함수 선언문 형식으로 정의된 함수는 자바스크립트 엔진에 의해 함수 이름과 함수 변수의 이름이 같은 표현식 형태로 변경된다. 함수 표현식 방식의 경우는 세미콜론을 붙이는 것을 권장한다. 함수 호이스팅 : 함수 선언문 형태로 정의한 함수의 유효 범위는 코드의 ..
-
백준(BOJ) 10816번 숫자 카드 2알고리즘 풀이/백준(Boj) 2019. 7. 23. 14:40
문제 : https://www.acmicpc.net/problem/10816 문제숫자 카드는 정수 하나가 적혀져 있는 카드이다. 상근이는 숫자 카드 N개를 가지고 있다. 정수 M개가 주어졌을 때, 이 수가 적혀있는 숫자 카드를 상근이가 몇 개 가지고 있는지 구하는 프로그램을 작성하시오. 나의풀이 : 가지고 있는 카드를 이진탐색을 통한 upper_bound 와 lower_bound를 이용하기 위해 오름차순 정렬해준다.그 후 upper_bound에서 num에 lower_bound로 찾은 값을 빼주면 그 개수를 구할 수 있다. #include #include #include using namespace std; int main(){ios_base::sync_with_stdio(0);cin.tie(0);int ..
-
HTML 웹 프로그래밍 입문 3장Web/HTML5 웹 프로그래밍 입문 2019. 7. 22. 19:05
1. 1 head는 시맨틱 태그가 아니다. 2. 2 div,ul,li는 블록 형식의 태그이다. a는 인라인 형식이다. 3. 클릭 4. 5. HTML5 Basic ITCookbook - HanbitAcademy Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centu..
-
백준(BOJ) 2805번 나무 자르기알고리즘 풀이/백준(Boj) 2019. 7. 22. 16:22
문제 : https://www.acmicpc.net/problem/2805 문제상근이는 나무 M미터가 필요하다. 근처에 나무를 구입할 곳이 모두 망해버렸기 때문에, 정부에 벌목 허가를 요청했다. 정부는 상근이네 집 근처의 나무 한 줄에 대한 벌목 허가를 내주었고, 상근이는 새로 구입한 목재절단기을 이용해서 나무를 구할것이다.목재절단기는 다음과 같이 동작한다. 먼저, 상근이는 절단기에 높이 H를 지정해야 한다. 높이를 지정하면 톱날이 땅으로부터 H미터 위로 올라간다. 그 다음, 한 줄에 연속해있는 나무를 모두 절단해버린다. 따라서, 높이가 H보다 큰 나무는 H 위의 부분이 잘릴 것이고, 낮은 나무는 잘리지 않을 것이다. 예를 들어, 한 줄에 연속해있는 나무의 높이가 20, 15, 10, 17이라고 하자. ..
-
백준(BOJ) 1931번 회의실배정알고리즘 풀이/백준(Boj) 2019. 7. 19. 01:19
문제 : https://www.acmicpc.net/problem/1931 문제한 개의 회의실이 있는데 이를 사용하고자 하는 N개의 회의들에 대하여 회의실 사용표를 만들려고 한다. 각 회의 I에 대해 시작시간과 끝나는 시간이 주어져 있고, 각 회의가 겹치지 않게 하면서 회의실을 사용할 수 있는 최대수의 회의를 찾아라. 단, 회의는 한번 시작하면 중간에 중단될 수 없으며 한 회의가 끝나는 것과 동시에 다음 회의가 시작될 수 있다. 회의의 시작시간과 끝나는 시간이 같을 수도 있다. 이 경우에는 시작하자마자 끝나는 것으로 생각하면 된다. 풀이:회의가 끝나는 시간으로 오름차순으로 정렬한다. 정렬된 배열의 첫 번째 회의는 무조건 선택한다. 그 후 겹치는 회의를지울 필요 없이 정렬된 배열을 순회하면서 첫 번째 회의..