전체 글
[AI Rush] Naver AI Rush 2021 코딩테스트 후기 및 합격
[AI Rush] Naver AI Rush 2021 코딩테스트 후기 및 합격
2021.05.10AI Rush 2021 지난 4월 30일에 Naver AI Rush 2021 코딩테스트를 진행했습니다. 학교 시험 일정이 진짜 헬게이트였어서 4월 30일에 시험이 끝났었습니다. 그래서 당일 3시였나? 4시쯤에 코딩테스트 입장해서 문제를 풀었습니다. 문제 내용을 말하는 건 문제가 될 수 있기 때문에 대략적인 풀이 후기만 작성하겠습니다. 코딩테스트 후기 우선 코딩테스트는 2시간동안 진행되었습니다. 4월 30일 당일 아무때나 2시간동안 진행하면 되었습니다. 총 4문제가 출제되었고 프로그래머스를 통해 진행되었습니다. 작년에도 신청을 해서 코딩테스트를 봤는데 1번 문제만 붙잡고 있다가 한문제도 못 풀고 광탈한 기억이... ㅠㅠ 그때는 2학년이었고 이제는 3학년이다. 물론 3학년될 때까지 알고리즘 실력이 엄청 늘었..
[Data Structure] Vector and List (벡터와 리스트)
[Data Structure] Vector and List (벡터와 리스트)
2021.03.03Vector (벡터) 벡터 개념 벡터는 크기가 동적으로 변하는 배열이라고 생각하면 된다. Array list라고 부르기도 하며 다양한 데이터들이 배열의 형태로 저장된 연속체라고 생각하면 된다. 삽입, 삭제, 접근 연산이 모두 index에의해 이뤄지게 된다. Vector ADT 벡터의 추상자료형은 다음과 같다. at(integer i) : index i에대해서 데이터 값을 반환해준다. set(integer i, object o) : index i의 데이터를 o로 바꿔준다. insert(integer i, object o) : index i에 o를 삽입한다. earase(integer i) : index i에 있는 데이터를 제거해준다. size() : 벡터의 크기를 반환해준다. empty() : 벡터가 비었..
[Data Structure] Queue(큐)
[Data Structure] Queue(큐)
2021.03.03Queue (큐) 큐 개념 큐의 삽입과 삭제의 원리는 First-In First-Out(FIFO, 선입선출)로 작동한다. 가장 먼저 들어온 데이터가 가장 먼저 나가게된다. 큐의 실제 활용 예시는 다음과 같다. 대기열 공유자원의 접근권한, 순서 멀티 프로그래밍 과정 Queue ADT 큐의 추상자료형은 다음과 같다. enqueue(object) : 데이터를 큐의 제일 마지막에 삽입한다. dequeue() : 큐의 가장 앞에 있는 데이터를 제거한다. object front() : 큐의 가장 앞에 있는 데이터를 반환해준다. integer size() : 큐에 저장된 원소들의 개수를 반환해준다. boolean empty() : 큐가 비어있는 지를 확인해준다. Queue implementation (큐 구현) 큐의..
[Data Structure] Stack(스택)
[Data Structure] Stack(스택)
2021.03.03Abstract Data Types (추상 자료형) 추상 자료형 (ADTs)는 한마디로 말하면 알고리즘의 요약본이다. ADT는 correctness와 performance를 독립적으로 생각하게 해줄 수 있다. Correctness는 일반적으로 interface라고도 하는데, input이 들어왔을 때, output의 일치 정확도가 얼마나 높은 가를 말한다. Performance는 implementation이라고 하며 time complexity와 같은 것을 말한다. ADT를 짤 때는 해당 알고리즘의 기능만을 고려하며 성능과 자세한 구현을 고려하지 않는다. Stack (스택) 스택 개념 스택의 삽입과 삭제 원리는 Last-In First-Out(LIFO, 후입선출)로 작동한다. 말 그대로 가장 나중에 들어온..
[Data Structure] Analysis of Algorithms (알고리즘 분석)
[Data Structure] Analysis of Algorithms (알고리즘 분석)
2021.03.03Algorithm Analysis (알고리즘 분석) Asymtotic Analysis (점근적 분석) 알고리즘을 비교, 분석할 때는 일반적으로 점근적 분석방법을 따른다. 점근적 분석방법은 아래의 과정들로 진행된다. 의사코드 (pseudo code) 연산자 개수 카운트 (primitive operation counting) input size n에 대한 함수로 표현 Big-O notation으로 표기 위 순서에 있는 내용을 기준으로 이번 글을 다루겠다. Running time (실행시간) 알고리즘의 개념적 정의는 아래와 같다. 0개 이상의 입력값이 주어질 때, 1개 이상의 출력이 나오는 절차나 방법 이런 정의에서 알 수 있듯이 우리는 특정 입력 값의 크기에따른 출력의 결과를 계산해야한다. 출력결과가 나오기..
[Data Structure] Linked List (연결 리스트)
[Data Structure] Linked List (연결 리스트)
2021.03.03Linked list (연결 리스트) 링크드 리스트와 배열 Linked list (연결 리스트)와 가장 많이 비교되는 자료구조에는 Array (배열)가 있다. 두 자료구조 모두 linear order data structure로, 선형 저장구조를 갖고 있다. 선형 저장구조를 갖고 있다는 의미는 데이터 간의 전후관계가 존재한다는 의미와도 같다. 두 자료구조의 차이점에는 데이터 접근성과 size의 변동성이 있다. Array (배열) 배열은 임의의 인덱스에 빠르게 접근이 가능하다. 접근하고자 하는 index를 알기만 하면 O(1)시간에 접근이 가능하다. 배열을 선언할 때 memory를 선언하고 할당하기 때문에 제한된 메모리 크기를 갖는다. 그로인해 한 번 선언한 배열의 크기는 변경 할 수 없다는 단점이 있다...
[Web] SNS형 게시판 만들기 프로젝트 (5) - JSP 사용하기
[Web] SNS형 게시판 만들기 프로젝트 (5) - JSP 사용하기
2020.05.28$ 개발환경은 Mac OS Catalina임을 알려드립니다. $ 이번에는 JSP사용과 톰캣9 설치 과정을 설명해드리겠습니다. 제가 사용하는 건 맥북이라 좀 까다로운 편이니 이해해주시길 바랍니다. 우선 JSP가 뭔지를 알아야 합니다. JSP란 Java Server Page의 약자로서 일반적인 HTML과 다르게 PHP처럼 동적인 웹 개발이 가능하게 만들어준 스크립트 언어입니다. 일반적으로 JSP를 사용하기 위해서 Apache Tomcat과 연동을 해서 사용하는 경우가 많습니다. 톰캣이 해주는 역할은 JSP코드를 Servelet Class로 변환해서 실행을 시켜주는 역할을 합니다. JSP의 동작원리는 일반적으로 Model2를 활용하게 됩니다. JSP가 실행이 되면 우선 Web container로 해당 파일이 ..
[Web] SNS형 게시판 만들기 프로젝트 (4) - Java Script 사용
[Web] SNS형 게시판 만들기 프로젝트 (4) - Java Script 사용
2020.05.17$ 개발 환경은 Mac OS Catalina임을 알려드립니다 $ 오랜만에 Web관련 포스팅을 합니다. CSS설정는 사실 내용적인 부분이 암기가 많습니다. 그래서 개발할 때는 W3school을 참조하는 게 좋습니다. 내용이 너무 방대하니까요. 이제 좀 더 코딩적인 요소에 가까운 JavaScript와 JSP에 대해서 알아봅시다. 이번주 과제는 JavaScript를 활용해서 게시글 업로드를 하고 사용자가 입력한 내용을 출력시켜서 보여주면 되는 것과 form에서 입력한 결과를 alert에서 보여주는 처리를 해주면 됩니다. 우선 좀 쉬운 2번 과제부터 진행해봅시다. form태그에 기록할 수 있는 대부분의 내용들을 입력을 받고 해당 내용을 alert로 출력해주면 됩니다. 우선 form태그 형식을 짜봅시다. inpu..
[Web] HTML / CSS /JavaScript 내용 정리
[Web] HTML / CSS /JavaScript 내용 정리
2020.05.03시험공부용 HTML / CSS3 / JavaScript 내용 정리본입니다. > HTML 태그 - 태그 내부에 아무리 많은 공백을 입력해도 무시함 -> 사용해서 공백 적용 - 태그 사용하면 적은 그대로 출력해줌. 공백, 줄 바꿈 모두 적용. - 숫자 클수록 작은 제목 적용 - 구분선 - 볼드체, 이텔릭체 - 태그(목록 태그) 하위에, 항목은 태그로 추가한다. 해당 목록들은 넘버링이 없음. 태그 내부에 태그 추가 가능함. - 태그(목록 태그)는 과 동등하게 사용하지만 넘버링이 붙는다. 넘버링 종류는 type=””으로 결정해주면 된다. Start값 설정해주면 해당 번호부터 시작한다. > value 사용해서 중간에 낚아채기도 가능. - 로 제목, 설명 가능 - 에서는 target값에 따라 링크 ..
[Web] SNS형 게시판 만들기 프로젝트 (3) - CSS 설정
[Web] SNS형 게시판 만들기 프로젝트 (3) - CSS 설정
2020.04.13지난 시간에는 큰 틀을 잡았습니다. 이번에는 단순 table로만 설정한 틀을 고치기위해서 CSS를 잡아줍시다. 테이블로 잡으면 코드를 보기가 너무 안좋습니다. 이번에는 section, aside 등을 활용하고 CSS로 디자인을 잡아줍시다. 오늘 핵심이 되는 것은 CSS의 활용과 페이지의 구획분활입니다. HTML5에는 마치 table과 div으로 나눠놓은 것처럼 구획이 나눠져 있습니다. 보통 아래와 같이 구분을 하게 됩니다. header는 웹에서 가장 맨 위부분을 차지하게 됩니다. 보통 웹의 정보를 담고 있는 부분입니다. nav는 navigation에서 파생된 것으로 특정 목적지로 이동할 수 있게 링크들을 모아둔 영역입니다. 보통 해당 웹페이지의 카테고리 영역이 위치하게 됩니다. section은 핵심적인 ..
[Web] SNS형 게시판 만들기 프로젝트 (2) - 기본 레이아웃
[Web] SNS형 게시판 만들기 프로젝트 (2) - 기본 레이아웃
2020.04.10전체적인 디자인을 구상했습니다. 2차 과제는 기본 게시판과 글 작성 페이지를 구현하는 것입니다. 기본적인 레이아웃을 잡으라는 과제이므로 table을 활용해서 기본 레이아웃을 잡읍시다. 저번에 작성한 스토리보드를 기반으로 만들어봅시다. CSS 활용은 우선 최소한으로 해보겠습니다. 대신 코드가 굉장히 더러워집니다;; 메인 게시판으로 이동하는 이미지 링크를 먼저 구현합니다. 제가 자주 쓰는 저작권 문제없는 이미지를 받는 사이트가 있습니다. https://icon-icons.com/ko/ 무료 아이콘 SVG, PNG, ICO 또는 ICNS icon-icons.com 여기서 적당한 집 아이콘을 다운로드하여서 사용해주겠습니다. 왼쪽 위 구석에 홈 이미지를 박아둘거기때문에 따로 위치 조정은 안 합니다. html로 코..
[Web] SNS형 게시판 만들기 프로젝트 (1) - 스토리보드 구성
[Web] SNS형 게시판 만들기 프로젝트 (1) - 스토리보드 구성
2020.04.09이번 학기에 웹 프로그래밍 강의를 듣습니다. 예전에 고등학교 시절에 웹 프로그래밍을 간단히 해본 기억이 있어서 부담감은 좀 적긴 한데요. HTML5, CSS3, JSP를 이번 수업에서 배우게 됩니다. 웹 프로그래밍 수업 최종 프로젝트가 수업을 하면서 진행을 하게 됩니다. 이번 주제는 'SNS형 게시판 만들기'입니다. 공부한 걸 복습할 겸 제 프로젝트 기록을 작성해 봅시다. 저희 학교는 웹 프로그래밍을 할 때 Java Server인 JSP를 쓰기로 했기 때문에 eclipse를 활용합니다. 사실 코딩의 전반적인 걸 이클립스로 해야 하지만 이클립스는 너무 버그도 많고 구리기 때문에.... 저는 서버가 필요한 상황 아니면 아톰(Atom) 에디터를 활용하겠습니다. 제가 사용하는 아톰 플러그인이 궁금하시면 제가 작..