일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- BOJ 4948
- BOJ 4485
- BOJ 2213
- BOJ 1074
- BOJ 1697
- 조합 알고리즘
- 다익스트라
- priority_queue
- BOJ 1926
- Lambda
- javascript
- BOJ 2407
- BOJ 5568
- BOJ 6593
- spring security
- springboot
- Coercion
- BOJ 11726
- BOJ 2012
- 플로이드 와샬
- BOJ 2167
- serverless
- BOJ 1912
- DP
- AWS
- 분할과 정복
- BOJ 2146
- BOJ 5791
- MySQL
- BOJ 2234
- Today
- Total
목록분류 전체보기 (48)
고인물을 지양하는 블로그

왜 갑자기 크롤러인가? 학과에 최근 1년 들어 졸업요건이 추가되거나, 교과목이 추가되거나, 갑자기 캡스톤이 바뀌거나 하는 등 갑작스레 변화의 바람이 불어 휴학 중이라도 학교와 단절되면 안 될 것 같아 까먹어서 못 봐도, 바빠서 소홀해도, 야간근무 끝나고 자느라 못 봤지만 핸드폰 알림으로 와 있다면 편할 것 같아 만들게 됐다. (aws 써볼 구실 + 난이도도 낮음) 서버리스는 처음이지? AWS나 Azure 같은 클라우드를 언제 한 번 써봐야 겠다는 막연한 생각은 있었지만, 'EC2 같은 거 쓰면 된다더라; 수준의 지식 이외에는 클라우드를 사용해 본 경험도, 사실 사용할 만한 프로젝트도 없었다. 따라서 aws cli 없이, google api 이용을 위해 service account 발급 등 최소한의 인증과..

via MEME 자바스크립트는 Loosely Typed(자료형 선언 없이 할당 가능) 언어이다. 자바스크립트의 타입은 Primitive Value, Object 타입으로 나누어지고, 오늘은 Primitive Value 타입과 묵시적 형변환이 주 내용이다. Primitive Value Boolean type Null type Undefined type Number type BigInt type String type Symbol type Primitive Value는 Immutable (변경 불가) 타입이다. 자바처럼 String 타입도 Immutable이다. 독특한 것은 Undefined, Null이 따로 타입으로 분리돼 있다는 것인데, 이 점이 비교 연산 등에서 주의를 필요로 한다. Null 과 Unde..
Spring Boot를 이용한 두 번째 프로젝트를 얼추 끝마치며 Spring Boot, Security에 대한 큰 그림과 기본적인 구성 요소들은 얼추 익숙해졌다. 첫 프로젝트에서는 기본적인 MVC, 프런트와 백엔드 데이터 연계, Spring JPA + h2, Spring Security 세션 -> 명시적 로그인은 formLogin, api 호출은 jwt 토큰을 이용한 로그인을 진행했었고 소기의 목표였던 대댓글 작성까지 완성했다. 두 번째 프로젝트에서는 조금 더 복잡한 JPA 연관관계, Validation을 추가해 목표가 스프링 부트와 연관 컴포넌트에 익숙해지는 것이었던 만큼 최초 목표는 이뤘지만, 프런트에 조금 더 능숙했다면 하는 아쉬움이 있었고, 겨울 전 스벨트나 리액트 js로 첫 프로젝트 프런트를 재..

https://www.acmicpc.net/problem/1613 1613번: 역사 첫째 줄에 첫 줄에 사건의 개수 n(400 이하의 자연수)과 알고 있는 사건의 전후 관계의 개수 k(50,000 이하의 자연수)가 주어진다. 다음 k줄에는 전후 관계를 알고 있는 두 사건의 번호가 주어진다. 이는 앞에 있는 번호의 사건이 뒤에 있는 번호의 사건보다 먼저 일어났음을 의미한다. 물론 사건의 전후 관계가 모순인 경우는 없다. 다음에는 사건의 전후 관계를 알고 싶은 사건 쌍의 수 s(50,000 이하의 자연수)이 주어진다. 다음 s줄에는 각각 서 www.acmicpc.net 전후관계를 나타내기 위해 방향그래프를 이용했다. A 사건이 B사건에 우선하면 A->B라 표기 다시 문제로 돌아가면, 사건들의 전 후 관계가 ..

https://www.acmicpc.net/problem/1074 1074번: Z 한수는 2차원 배열 (항상 2^N * 2^N 크기이다)을 Z모양으로 탐색하려고 한다. 예를 들어, 2*2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. 만약, 2차원 배열의 크기가 2^N * 2^N라서 왼쪽 위에 있는 칸이 하나가 아니라면, 배열을 4등분 한 후에 (크기가 같은 2^(N-1)로) 재귀적으로 순서대로 방문한다. 다음 예는 2^2 * 2^2 크기의 배열을 방문한 순서이다. N이 주어졌을 때, (r, www.acmicpc.net 첫 번째 접근 방법은 분할과 정복/완탐 이었다. 재귀 함수에서 1 2 3 4분면으로 나누고, Z방향대로 (1->2->3->4) 탐색해 순서를 ..

문제는 다음과 같다 대충 위와 같이 주어진 성곽이 있다. 실선은 벽을, 점선은 벽이 없어 지나다닐 수 있는 공간을 의미한다. 이 때, 1. 이 성에 있는 방의 수 2. 가장 넓은 방의 넓이 3. 하나의 벽을 제거하여 얻을 수 있는 가장 큰 방의 크기 를 구하는 것이 문제이다. 1, 2번은 DFS/BFS를 여러 번 호출하면 되는 기본적인 그래프 탐색 문제이지만, 3번이 이 문제의 문제라 할 수 있겠다. 다른 분들의 3번 문제 해결 방법을 살펴보니 주로 실제 벽을 제거하고, BFS을 통해 벽을 하나 제거하여 얻을 수 있는 가장 큰 방의 크기를 구하는데, 2번 문제를 해결하기 위해 각 방들의 넓이는 이미 구해져 있을것이므로, 벽을 하나 하나 허물며 탐색하는것은 조금 낭비처럼 느껴졌다. 내 해결방법은 다음과 같..
프레임워크, 라이브러리와 같이 자주 통용되면서도 막상 한 마디로 딱 표현하기 어려운 단어들이 일단 구글링을 해 본 결과 다음과 같은 정의를 찾을 수 있었다. ============================================================================ GoF의 디자인 패턴으로 유명한 랄프 존슨(Ralph Johnson) 교수는 프레임워크를 "소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것" 이라고 정의하였다. 프레임워크는 라이브러리와 달리 애플리케이션의 틀과 구조를 결정할 뿐 아니라, 그 위에 개발된 개발자의 코드를 제어한다. 프레임워크는 구체적이며 확장 가능한 기반 코드를 가지고 있으며, 설..

뷰는 UI 구성요소로, 사용자에게 보이는 화면의 구성요소들이 '뷰'이다. 이러한 뷰를 여러 개 포함하고 있는 것을 '뷰그룹'이라 부르고, 뷰그룹은 뷰를 상속해 뷰그룹도 하나의 뷰(요소)처럼 다룰 수 있다. 따라서 이런 상속 구조를 통해 안드로이드 UI를 자연스럽게 구성할 수 있다. 참고하는 교재 (Do it 안드로이드 앱 프로그래밍)에서는 엄밀하게는 아니더라도 뷰/위젯을 구별하고 있는데, 제어 역할을 하는 뷰(구성요소)를 위젯이라고 정의했다. - 안드로이드에서는 어떤 것을 위젯이나 레이아웃이라고 부르는 걸까요? ..중략.. 즉, 어떤 것이 뷰이고 어떤 것이 위젯인가에 대해 명확하게 구분하기 보다는 화면을 구성하는 일반적인 요소를 뷰라고 정의한 후 그 중에서 사용자의 눈에 보이는 컨트롤의 역할을 하는 화면..