분류 전체보기
-
[Github Error] Git push 시, 오류 해결 ( Updates were rejected because the tip of your current branch is behind)STUDY/Git & Github 2021. 3. 19. 14:20
상황 새로운 레파지토리를 생성하고, 이 레파지토리를 로컬에 가져온 후 push가 정상적으로 잘 되는지 확인해보기 위해 README.md 파일을 수정한 다음, push를 하니 아래와 같은 에러가 발생한다. hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. 문제 원인 깃허브 레파지토리를 생성할 때,..
-
[Clone Coding] Netflix 클론 코딩 (HTML/CSS + JS) - 0. IntroProject 2021. 3. 18. 23:17
HTML과 CSS를 연습하는 좋은 방법 중에 하나가 클론 코딩을 하는 것이라는 말을 들었다. 그래서 HTML, CSS를 간단하게 훑어본 후, 본격적으로 클론 코딩으로 연습을 해보려고 한다. 여러 강의를 찾아보다 우선은 무료 강의로 해보고 싶어 Traversy Media 라는 유튜버 분의 강의를 선택했다. 웹 개발과 프로그래밍 튜토리얼에 대한 강의를 올리는 분이다. 자세한 코드는 'Build a Netflix Landing Page Clone with HTML, CSS & JS' 영상 설명란에서 볼 수 있다. 이 포스트에서는 자세한 전체 코드가 아닌, 전체적인 클론 코딩 방법과, 자세히 공부할 HTML이나 CSS 태그들에 대해 주로 설명하고자 한다. Build a Netflix Landing Page Cl..
-
[알고리즘] 백트래킹STUDY/Algorithm 2021. 3. 17. 12:01
백트래킹 백트래킹이란, 여러 후보해 중 특정 조건을 충족시키는 모든 해를 찾는 알고리즘이다. 백트래킹의 목적은 해가 될 조건을 만족시키는 "진짜 해"를 효율적으로 찾는것이 백트래킹의 목적이다. 백트래킹은 탐색을 진행하다가 더 갈 수 없게되면 왔던 길을 되돌아가 다른 길을 찾는다고 해서 이런 이름이 붙었고, 주로 재귀적으로 구현한다. '모든 해'란, 예를 들어 탈출로가 두개인 미로 문제를 생각해보자. 이러한 미로에서 탈출할 수 있는 최단 경로는 2개가 존재한다. 이 2개 해를 일컬어 '모든 해'라고 한다. '후보 해' 란, 해가 될 수 있는 가능성을 가진 부분해의 조합이다. 백트래킹은 DFS를 빼고 이야기 할 수 없는 알고리즘이다. DFS는 백트래킹의 골격을 이루는 알고리즘이다. 백트래킹은 DFS 방식으로..
-
[Java] 빠른 입출력을 위한 BufferedReader, BufferedWriter, StringTokenizer, StringBuilderSTUDY/Algorithm 2021. 3. 16. 13:55
BufferedReader / BufferedWriter BufferedReader와 BufferdWriter는 버퍼를 사용하여 읽기와 쓰기를 하는 함수이다. 버퍼를 사용하지 않는 입력은, 키보드의 입력이 키를 누르는 즉시 바로 프로그램에 전달된다. 반면 버퍼를 사용하는 입력은, 키보드의 입력이 있을 때마다 한 문자씩 버퍼로 전송한다. 버퍼가 가득 차거나 혹은 개행 문자가 나타나면 버퍼의 내용을 한 번에 프로그램에 전달한다. 한번 버퍼를 거쳐 출력되는 것보다, 키보드의 입력을 받는 즉시 출력하는 것이 더 빠른 것이 아닌가 생각할수 있다. 하드디스크는 속도가 느리다. 그리고 외부 장치(키보드, 모니터 등)와 데이터 입출력도 생각보다 시간이 오래 걸린다. 그렇기 때문에 키보드의 입력이 있을 때마다 바로 이동..
-
[정렬] 기본 정렬(선택, 버블, 삽입), 고급 정렬(병합, 퀵, 힙), 계수정렬STUDY/Algorithm 2021. 3. 14. 22:04
- 기본 정렬 알고리즘 선택 정렬 버블 정렬 삽입 정렬 - 고급 정렬 알고리즘 병합 정렬 퀵 정렬 힙 정렬 - 계수 정렬 기본 정렬 알고리즘(선택, 버블, 삽입 정렬) 1. 선택 정렬(Selection Sort) 선택 정렬은 가장 간단한 정렬 알고리즘 중 하나로, 입력에 민감하지 않은 정렬이다. 또한 선택 정렬은 항상 일정한 시간 복잡도를 가지는 정렬 알고리즘이기도 하다. - 선택 정렬 알고리즘 ① 배열 A[1..n]에서 가장 큰 원소를 찾는다. ② 가장 큰 원소와 끝자리에 있는 A[n]과 자리를 바꾼다. -> 여기서 맨 뒷자리로 옮긴 원소는 자기 자리를 찾은 것이므로 이제 신경쓰지 않아도 된다. ③ 나머지 원소 n-1개에 대해서도 동일한 작업을 반복한다. - 선택 정렬 pesudo code select..
-
[CSS] CSS의 모든 것 - (4) Float,Combinator, Navigation Bar, DropdownSTUDY/HTML.CSS.JS 2021. 3. 14. 19:06
CSS Float CSS Layout - float and clear float 속성은 웹 페이지에서 이미지를 어떻게 뜨워 텍스트와 함께 배치할 것인지 지정하는 속성이다. float 속성이 가질 수 있는 값은, left : 왼쪽에 부유하는 블록 박스를 생성한다. 페이지 내용은 박스 오른쪽에 위치하고, 위에서 아래로 내용이 흐른다. right : 오른쪽에 부유하는 블록 박스를 생성. 페이지 내용은 박스 왼쪽에 위치하고, 역시 위에서 아래로 내용이 흐른다. none : Default. 요소들이 부유하지 않는다. inherit : 부모 요소에서 상속 E.g. img { float: none;} CSS Layout - clear and clearfix clear 속성은 부유시킨 이후의 문서의 흐름을 제거하기 위..
-
[CSS] CSS의 모든 것 - (3)Link, List, Table, Display, Width, Positon, OverflowSTUDY/HTML.CSS.JS 2021. 3. 13. 19:28
CSS Links Lists Tables Layout- Display Property Layout - width and max-width Layout - The position Layout - Overflow CSS Links Link도 CSS 속성으로 스타일을 지정할 수 있다. a : link - 방문하지 않은 일반 링크 a : visited - 방문한 링크 a : hover - 사용자가 링크에 마우스를 올려둘 때 a : active - 클릭하는 순간의 링크 ex) a:link { color: red; } a:visited { color: green; } text-decoration 속성 : 링크의 밑줄을 제거할 때 사용하는 속성 Syntax text-decoration: none; background..
-
[알고리즘]재귀함수STUDY/Algorithm 2021. 3. 11. 11:57
재귀 함수란? 문제 해결을 위해, 원래 범위의 문제를 더 작은 문제로 쪼개 하위문제를 해결함으로써, 문제를 해결해 나가는 방식을 말한다. 재귀 함수를 사용할 때 장점은, 코드가 간결하고, 오류 수정이 용이하다는 것이다. 단점은, 코드를 이해하기 어렵고, 수많은 중복호출이 발생해 저장 공간을 많이 필요하다는 것이다. 예시를 살펴보자. int recursiveSum (int n) { if(n == 1) return 1; return n + recursiveSum(n - 1); } 이 recursiveSum 함수는, 1부터 n까지의 합을 구하는 함수를 재귀 호출을 이용해 구현한 것이다. n = 5일 때, 아래와 같이 동작한다. 모든 재귀함수는 if (n == 1)과 같이, 더이상 쪼개지지 않는, 최소한의 작업..