본문 바로가기

전체 글31

Trade-off란? Trade-off란? Trade-off 관계는 컴퓨터 이론수업을 듣다보면 정말 많이 등장하는 개념이 아닌가 싶다. Trade-off 관계를 쉽게 설명하자면, 어떤 문제를 해결할 때 두 가지 방법이 존재할 때, 한 방법이 A측면에서 유리하고 B측면에서는 불리하면, 다른 방법은 B측면에서 유리하고 A측면에서 불리한 두 방법을 Trade-off 관계라고 말한다. 2021. 5. 6.
[C++ 알고리즘] 오일러 회로 / 오일러 경로 (Euler ciruit / Euler trail) 오일러 회로 문제 : 그래프의 모든 간선을 한 번씩만 지나면서, 모든 정점을 들린 뒤 시작점으로 돌아오는 문제. 다른 조건은 만족하되, 시작점으로 돌아오지 않아도 되는 문제는 오일러 경로 문제이다. 어떠한 양방향 그래프가 주어졌을 때, 오일러 회로 또는 경로가 존재할 수 있는지 판단할 수 있는 필요충분조건 두 가지가 존재한다. 양방향 그래프에서 오일러 회로 또는 경로가 존재하기 위한 필요충분조건 1. 모든 정점이 하나의 컴포넌트 안에 속해 있는가? 이를 확인하기 위해서 사용할 수 있는 방법 중 하나는, 한 정점에 대하여 dfs 또는 bfs를 사용해서 탐색을 한 번 마친 뒤, 방문하지 않은 정점이 존재할 경우 두 개 이상의 컴포넌트가 존재함을 알아낼 수 있다. int chk[N]; int adj[N][N].. 2021. 3. 1.
JLIS(합친 최대 증가 부분수열) 풀이, 오답노트 algospot.com/judge/problem/read/JLIS algospot.com :: JLIS 합친 LIS 문제 정보 문제 어떤 수열에서 0개 이상의 숫자를 지운 결과를 원 수열의 부분 수열이라고 부릅니다. 예를 들어 '4 7 6'은 '4 3 7 6 9'의 부분 수열입니다. 중복된 숫자가 없고 오름 차순으로 algospot.com 문제) 어떤 수열에서 0개 이상의 숫자를 지운 결과를 원 수열의 부분 수열이라고 부릅니다. 예를 들어 '4 7 6'은 '4 3 7 6 9'의 부분 수열입니다. 중복된 숫자가 없고 오름 차순으로 정렬되어 있는 부분 수열들을 가리켜 증가 부분 수열이라고 부르지요. 예를 들어 '3 6 9'는 앞의 수열의 증가 부분 수열입니다. 두 개의 정수 수열 A 와 B 에서 각각 증가 .. 2021. 1. 16.
[독서] 클루지 - 생각의 역사를 뒤집는 기막힌 발견 우리는 우리 스스로 완벽하지 않음을 인식하고 인정해야 할까? 인정을 통해 얻는 것은 무엇인가? 그에 대한 답을 책을 통해 찾아볼 수 있다. - 핵심 내용 클루지란 어떤 문제에 대한 서툴거나 세련되지 않은 해결책을 뜻한다. 클루지는 상황에 맞게 급하게 만들어져 아주 효과적인 해결책이 될 수도 있고, 그렇지 않을 수도 있다. 저자 개리 마커스는 인간의 마음이 클루지라고 주장한다. 우리의 뇌는 오래 전 생존을 위해 오랜시간동안 탄탄하고 정교하게 만들어진 선조체계(반응체계) 위에 짧은 시간 동안 빠르게 이뤄진 문명의 발전 속도에 맞추지 못하고 급하게 만들어진 숙고체계가 클루지의 형태로 형성되었다. 상대적으로 먼저, 긴 시간동안 진화한 선조체계는 긴급하거나 순간적인 선택에서 항상 주도권을 잡는다. 그래서 우리는 .. 2020. 6. 17.
[간단한 웹] 라이브러리 없이 TODOlist 만들기 웹계의 Hello World! 라고 불리는 To Do List를 만들어보았다. 사용한 언어는 HTML, CSS, Javascript 1. HTML My To Do List - 태그로 먼저 제목이 될 부분 (정적인 부분)과 리스트를 포함할 부분(동적인 부분)을 CSS로 처리하기 쉽도록 나눴다. - 제목이 될 부분에는 제목과 텍스트박스, submit 버튼을 넣어주고 'title'이라는 classname을 정했다. 텍스트박스의 경우 placeholder를 써야 텍스트박스에 힌트처럼 흐릿한 글씨, 클릭하면 없어지는 글씨를 넣을 수 있다고 한다. - 리스트가 될 부분은 body라는 classname을 정하고 태그를 넣어 'list'라는 idname을 넣었다. 2. Javascript submitClicked = .. 2020. 6. 10.
JavaScript의 기초2(웹브라우저의 제어, 요소가져오기, 속성변경) * 웹브라우저의 제어 - querySelector() 함수를 사용할 경우 1. 제어할 태그 선택하기 var a = document.querySelector('선택자'); //'선택자' 자리에는 태그 선택자, 클래스 선택자, ID선택자가 들어간다. 2. 선택한 선택자에 css 속성을 추가하기 var a = document.querySelector("#apple") //apple이라는 이름을 가진 클래스 선택자 선택 a.style.color("green"); //apple이라는 클래스에 속한 모든 태그의 텍스트 색깔을 초록색으로 바꿈 - getElementByID() / getElementsByClassName() / getElementsByTagName() 함수를 사용할 경우 getElementByID().. 2020. 5. 22.