전체보기

    6번째 수업

    6번째 수업

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ● 문자열 알고리즘 § 문자열 검색 알고리즘 - 문자열 S에서 어떤 문자열 패턴 P를 찾는 알고리즘 모든 문자열을 검사하는 방법이 있다. 시간복잡도. S의 모든 길이마다 P의 길이만큼 검사해야 하므로 O(|S|x|P|) § 라빈 카프 알고리즘 Hash를 이용하는 방법 문자열을 정수로 바꾸는 방법 문자열은 비교하는데 문자열의 길이만큼 시간이 걸리는 반면에 정수는 크고 작음을 비교하는데 걸리는 시간이 O(1)이다...

    5번째 수업

    5번째 수업

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ● DFS 깊이 우선 탐색 스택을 이용해서 갈 수 있는 만큼 최대한 많이 가고 갈 수 없으면 이전 정점으로 돌아간다. 정해진 순서는 없다. 재귀함수를 이용하면 스택을 이용하지 않아도 된다. 인접행렬 사용시, 시간복잡도는 모든 정점 방문 & 하나 방문시 모든 정점과 연결 여부 검사 즉, O(V^2) = 모든 정점 방문(V) * V번 검사 인접 리스트로 구현시, 연결된 정점만 검사하기 때문에 차수를 모두 더한 것과..

    4번째 수업

    4번째 수업

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ● 브루트포스 - 백트래킹 백트래킹은 브루트포스의 유형 중 하나다. 브루트포스가 모든 방법을 다 시도하는 것이라면 백트래킹은답의 가능성이 없으면 더이상 호출하지 않고 잘라버리는 것(커팅)이다. △ 문제 - 부등호 문제 : 부등호 기호 가 나열된 수열 A가 있다. 기호의 앞 뒤에 한자리 숫자를 넣어서 모든 부등호 관계를 만족시키려고 한다. 이때, 선택된 수는 모두 달라야한다. k개의 부등호 관계를 모두 만족시키는..

    부스트코스 서포터즈 BOOSTER 선정

    부스트코스 서포터즈 BOOSTER 선정

    부스트코스에서 서포터즈 2기에 선정되었다. 부스트코스는 직업에 필요한 핵심기술과 지식을 온라인으로 집중적으로 학습하는 예비 개발자 대상 실무형 온라인 교육코스다. 실제 프로젝트를 통해 현업과 유사한 상황의 문제를 해결하며 현업 개발자에게 1:1 온라인 코드리뷰를 받을 수 있다. 예전부터 알고는 있었는데 이번에 IT 개발 동아리를 대상으로 서포터즈를 팀으로 선발한다고 하길래 지원했다. 활동기간은 2020.01.17 ~ 2020.03.17로 총 2개월이다.무료 코드리뷰 3회권을 준다고 하니 열심히 공부해야겠다.안 그래도 자바 웹 프로그래밍에 관심을 갖고 공부 하고 있었는데 이거 완전 개이득이다.ㅋㅋ

    3번째 수업

    3번째 수업

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ▲ 다이나믹 프로그래밍 문제풀이 · 가장 긴 증가하는 부분수열 - 영어로 LIS (Longest Increasing Subsequence) - 수열의 길이가 N일때, 부분수열은 2^N개 - D[i] = LIS의 길이, A[i]가 가장 마지막에 있는 수열 - A[i] 바로 앞에 오는 A[j] - 조건1 : A[j]

    [부스트코스] 웹의 동작 (HTTP 프로토콜 이해)

    [부스트코스] 웹의 동작 (HTTP 프로토콜 이해)

    본 포스트는 [부스트코스] 웹 프로그래밍 강좌의 다음강의를 수강한 후 작성하는 글이다. 프로토콜이란? 컴퓨터간에 정보를 주고받을 때의 통신방법에 대한 규칙과 약속을 말한다. HTTP란? HyperText Transfer Protocol의 약자로 서버와 클라이언트가 인터넷상에서 데이터를 주고받기 위한 프로토콜이다. 즉, 웹 상에서 데이터를 주고받는 규칙이다. HTTP는 어떤 종류의 데이터라도 전송할 수 있도록 설계되어 있어 이미지, 동영상, 오디오, 텍스트 문서 등 다양한 종류의 데이터를 전송할 수 있다. HTTP 작동방식 HTTP는 서버/클라이언트 모델을 따른다. 클라이언트는 네트워크에서 서비스를 요청하는 측의 컴퓨터를 의미하고, 서버는 네트워크에서 서비스를 제공하는 측의 컴퓨터를 의미한다. 즉, 클라이..

    2번째 수업

    2번째 수업

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ● 다이나믹 프로그래밍 - 큰 문제를 작은 문제로 나눠서 푸는 알고리즘 두가지 특성을 만족해야 다이나믹 프로그래밍으로 풀 수 있다. 1. Overlapping Subproblem - 문제를 작은 문제로 쪼갤 수 있고, 큰문제와 작은 문제를 같은 방법으로 풀 수 있다. 2. Optimal Substructure - 문제의 정답을 작은 문제의 정답을 합하는 것으로 구할 수 있다. 각 문제를 한 번만 푼다. 정답을 ..

    1번째 수업 복습

    1번째 수업 복습

    이 글들은 백준 온라인 저지의 백준님이 2020년 1~2월에 강의하시는 강의 내용을 듣고 복습한 뒤 간단하게 정리하여 올리는 글이다. 이 글을 쓰는 이유는 그날그날 들은 강의 내용을 복습하고 정리함으로써 배운 것을 확실히 머리에 남김과 동시에 나중에 다시 상기시킬 때 도움이 되도록 하기 위함이다. ● 알고리즘 - 어떠한 문제를 해결하기 위해 정해진 일련의 절차나 방법을 공식화한 형태 무엇이 가장 중요할까? 1. 수행시간 - 가장 중요하다 2. 사용한 메모리 - 부족하면 추가하면 된다 3. 코드의 길이 - 중요하지 않다 시간복잡도 - Big O : 최악의 경우에 걸리는 시간 - N이 1억일때 약 1초 정도 걸린다. 메모리 - 보통 가장 많은 공간을 차지하는 것은 배열 - 보통 시간을 지키면 대부분 메모리 ..