분류 전체보기

안드로이드

[ 안드로이드 ] 구글 캘린더 구현하기 (1) - CalendarView 라이브러리 추천 / 예제

라이브러리 소개 GitHub - kizitonwose/Calendar: A highly customizable calendar view and compose library for Android. A highly customizable calendar view and compose library for Android. - GitHub - kizitonwose/Calendar: A highly customizable calendar view and compose library for Android. github.com 여러가지 캘린더 라이브러리를 찾아보다가 해당 라이브러리를 찾게 되었다. 해당 라이브러리의 장점으로는 커스텀이 매우 자유롭고 방법도 쉽다. 또한, 라이브러리 Readme 자체에 설명이 정말 잘 ..

BOJ

[ 백준 1967 ] - 트리의 지름 (Kotlin)

1967번: 트리의 지름 파일의 첫 번째 줄은 노드의 개수 n(1 ≤ n ≤ 10,000)이다. 둘째 줄부터 n-1개의 줄에 각 간선에 대한 정보가 들어온다. 간선에 대한 정보는 세 개의 정수로 이루어져 있다. 첫 번째 정수는 간선이 연 www.acmicpc.net 문제 이해 & 기본 개념 특정 노드 2개를 잡고 양쪽으로 당겼을 때, 가장 길게 늘어나는 경우를 트리의 지름이라 한다. dfs를 수행해서, 각 노드의 자식들 중 가장 큰 가중치 + 자신의 가중치를 리턴한다. 갈라지는 부분에선, 해당 노드가 중심이 될 수 있는 가능성이 있기에, 자식들의 가중치의 합 중 가장 큰 2개를 구해서 max와 비교한다. 양쪽으로 잡아 당길 때, 두 개를 잡고 당기기 때문에 상위 가중치 2개를 선택 중요 포인트 이진 트리..

프로젝트 관리 & 협업/Github

[ Github ] - Github Issue, 프로젝트 개발 과정을 잘 남기는 법

이슈(Issue)를 만드는 경우 히스토리를 관리해야 할 모든 과제에 대해 만들면 좋다. Feature (기능) 버그 / 크래시 구조 / 성능적인 문제 프로젝트와 관련된 다른 팀과 한 논의 내용 프로젝트 모니터링 결과 프로젝트 개발 회고 이슈(Issue)에 적을 내용 이슈를 해결하기 위한 히스토리 문제 이슈 업 문제 해결 및 논의 추가적인 문제 문제 해결 및 논의 해결 ... 이슈 완전 해결 --> close 이슈 라벨(Label) 위의 이슈 항목에 따라, 라벨을 만들어 표시한다. 이슈(Issue)와 커밋(Commit) 연동 Commit 메세지에 "#[issue number]"를 입력하면, 이슈와 커밋이 연동되며, 자동으로 이슈에 커밋 내용이 추가 된다. 커밋과 함께 이슈를 Close 할 수 있는 Keyw..

카테고리 없음

[ 튜터링 정리 ] - 데이터베이스 사용법

데이터베이스 데이터의 저장소 데이터베이스 사용법 (Java) Client 프론트 엔드 (Java 프로그램, 웹, 어플리케이션 등) Server 백 엔드 (Spring Boot, Django, JSP 등) 클라이언트의 요청을 받아 처리 DB에 접근하여 데이터를 관리 => Server 개발을 배우지 않았으니, 서버 없이 자바에서 바로 DB에 접근 하는 방식의 구조로 진행하면 됨 1. JDBC Java DataBase Connectivity의 약어로 Java와 DB 연결을 위한 API JDBC만 있으면 어떤 DB든 똑같은 코드로 접근 가능 2. DB 연결 코드 작성 1. JDBC 연결 Class.forName("com.mysql.cj.jdbc.Driver"); 2. DB server 연결 DB가 켜져있는 서버..

카테고리 없음

[ 튜터링 정리 ] - 알고리즘

알고리즘 시간, 메모리 계산 1. 시간 복잡도 계산 실제로 알고리즘 문제를 풀다보면 O(n), O(n^2) 뿐만 아니라 다양한 시간 복잡도가 나옴 O(v+e), O(nlogn), O(logn) 등등 지금은 이정도만 알아도 문제 푸는데에는 지장 없음 나중에 알고리즘 수업 때 배우니 그때 제대로 배우면 됨 // 1번 코드 O(1) // n이 아무리 커져도 연산의 횟수는 변하지 않음 -> O(1) // 실제론 =, +, *, / 로 총 4번의 연산이지만, 시간 복잡도에선 1로 취급 int sum = (n+1) * n / 2 ------------------------------------- // 2번 코드 O(n) // n번 반복하므로 시간 복잡도는 O(n) // n이 10이면 10번 반복, 1000이면 10..

BOJ

[ 백준 9466 ] - 텀 프로젝트 (Kotlin)

9466번: 텀 프로젝트 이번 가을학기에 '문제 해결' 강의를 신청한 학생들은 텀 프로젝트를 수행해야 한다. 프로젝트 팀원 수에는 제한이 없다. 심지어 모든 학생들이 동일한 팀의 팀원인 경우와 같이 한 팀만 있을 www.acmicpc.net 문제 이해 & 기본 개념 n 명의 학생이 각각 같이 팀이 되고 싶은 학생을 1명씩 선택한다. 학생들을(s1, s2, ..., sr)이라 할 때, r=1이고 s1이 s1을 선택하는 경우나, s1이 s2를 선택하고, s2가 s3를 선택하고,..., sr-1이 sr을 선택하고, sr이 s1을 선택하는 경우에만 한 팀이 될 수 있다. 학생들이 선택한 결과가 주어질 때, 팀에 속하지 않는 학생의 수를 구하는 문제 중요 포인트 선택한 학생들끼리 사이클을 이루는 경우가 팀이 되는..

BOJ

[ 백준 2239 ] - 스도쿠 (Kotlin)

2239번: 스도쿠 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다 www.acmicpc.net 문제 이해 & 기본 개념 스도쿠를 완성시키는 문제 시간 제한이 2초로 충분하므로 백트래킹을 이용하면 쉽게 풀 수 있다. 중요 포인트 가로, 세로, 3x3 사각형에서 중복되는 숫자가 없는지 확인해야한다. 가로, 세로에선 아래와 같이 쉽게 확인할 수 있다. map[x][y]와 for문의 위치가 같아지는 경우 continue로 처리해버리면, 세로의 경우를 체크하지 못할 수 있다. // map[x][y]와 중복되는 숫자가 있는지 체크하는 for문 for (i in..

JAVA

[ JAVA ] - 인터페이스(interface) 개념 & 예시

인터페이스(interface) 개념 자바에서 인터페이스는 클래스들이 필수로 구현해야 하는 추상 자료형이며, 객체 간의 의존성 & 결합도를 낮추기 위해 많이 사용된다. 즉, 확장에는 열려 있고, 변경에는 닫혀 있는 유연한 방식의 개발을 하기 위함이 인터페이스를 사용하는 가장 큰 이유라고 볼 수 있다. 인터페이스(interface)의 특징 1. 다중 상속 가능 자바에선 다중 상속을 금지하고 있다. 인터페이스의 경우 껍데기만 존재하기 때문에 다중 상속이 가능하다. 2. 메소드 선언 or 상수만 사용 가능 인터페이스에선 메소드를 선언만 하며, 구현은 할 수 없다. (추상 메소드) 인터페이스를 사용하고자 하는 클래스에서 해당 메소드를 구현하여 사용 해야한다. 반대로 생각하면, 인터페이스 내의 모든 메소드를 강제로..

dongx._.2
'분류 전체보기' 카테고리의 글 목록 (7 Page)