분류 전체보기
-
[알고리즘] 힙정렬 (Heap Sort) - C/C++알고리즘/알고리즘 구현 2021. 3. 7. 16:04
힙정렬 (Heap Sort) 1. 기본동작 1) 모든 노드를 순회하면서, 현재 노드를 기준으로 위쪽으로 올라가며 Heapify 한다. 2) 루트 값을 가장 뒤쪽으로 보내고 Heapify 하며 크기를 줄여간다. 2. 시간복잡도 : O(N * log N) 3. 구현 - BOJ 의 11650번 좌표정렬하기를 힙정렬을 직접 구현하여 풀었습니다. (www.acmicpc.net/problem/11650) - 아래 heapSort 코드는 SWEA(swexpertacademy.com/main/visualcode/main.do#/home/mainlayout) 에서 Priority Queue의 레퍼런스 코드를 참고하여 구현하였습니다. #include struct Node { int x, y; } heap[100001]; ..
-
[이분탐색/DFS] 백준 1939번 : 중량제한 - C/C++알고리즘/백준 2021. 3. 6. 22:22
www.acmicpc.net/problem/1939 1939번: 중량제한 첫째 줄에 N, M(1≤M≤100,000)이 주어진다. 다음 M개의 줄에는 다리에 대한 정보를 나타내는 세 정수 A, B(1≤A, B≤N), C(1≤C≤1,000,000,000)가 주어진다. 이는 A번 섬과 B번 섬 사이에 중량제한이 C인 다리 www.acmicpc.net - 연결리스트(메모리 제한), DFS + 이분탐색(시간제한) 으로 구현하였습니다. (입출력 외 라이브러리를 사용하지 않은 구현입니다.) #include int N, M; int start, end; bool visit[10001]; struct Bridge { int linked, weight; Bridge* next; } b[200002]; Bridge* bri..
-
Android 앱 출시 : Your K-Dance사이드 프로젝트/Your K-Dance (Android) 2021. 3. 6. 11:16
Your K-Dance - Google Play 앱 - K-POP 아이돌 댄스 안무영상들을 모두 볼 수 있어요 - 안무영상을 보며 동시에 촬영할 수 있어요 - 촬영한 내 안무영상을 꺼내볼 수 있어요 play.google.com 2인 사이드프로젝트로 안드로이드 앱을 개발하였습니다! 관심있으신 분들은 사용해보시고 피드백주시면 감사하겠습니다^^ 앱 설명 - K-POP 아이돌 댄스 안무영상들을 모두 볼 수 있어요 - 안무영상을 보며 동시에 촬영할 수 있어요 - 촬영한 내 안무영상을 꺼내볼 수 있어요 기술 스택 - 크롤링 : Python, Selenium - 서버 : AWS Lambda - DB : MongoDB Atlas - 안드로이드 : Kotlin, MVVM, Koin, RxJava, Room - 협업 툴 ..
-
[알고리즘/BFS] 백준 2606번: 바이러스 - C/C++알고리즘/백준 2021. 3. 5. 21:58
https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어 www.acmicpc.net - BFS 를 이용하였으며, Queue를 직접 구현하였습니다. #include bool computer[101][101]; int queue[101]; bool visited[101]; int main() { int computerN; scanf("%d", &computerN); int linkN, a, b; scanf("%d", &linkN); for (int i = 0; i < linkN; ++i)..
-
[책] 실용주의 프로그래머책/IT 2021. 1. 27. 12:18
http://www.yes24.com/Product/Goods/12501565 실용주의 프로그래머 - YES24 프로그래밍은 대체로 머리로 하는 일이지만 한편으로는 몸에 새겨져야 하고 때로는 그 이상의 통찰을 발휘해야 하는 상황에 맞닥뜨리게 되는 복합적인 작업이다. 인터넷의 등장 이후 베껴 쓸 www.yes24.com 35p 실용주의 프로그래머 Tip 4 - 깨진 창문을 내버려두지 말라. 깨진 창문 하나는 - 조악한 설계의 코드, 형편없는 경영상의 결정 등 프로젝트 기간 동안 팀이 동고동락해야 하는 것들 - 내리막길로 가는 첫걸음이다. 깨진 창문이 꽤 있는 프로젝트를 한다면, "나머지 코드가 전부 쓰레기니까 나도 그렇게 하지 뭐." 라는 사고로 빠져들기 너무도 쉽다.
-
[Kotlin 코틀린] 고차함수와 람다(High Order Function & Lambda)Kotlin 2021. 1. 9. 14:29
'디모의 Kotlin 강좌' 유튜브 강의 및 추가 학습하여 정리한 내용입니다. 고차함수 (High Order Function) 매개 변수 또는 반환 값으로 또 다른 함수가 사용되는 함수 fun main() { b(::a)// :: 일반함수를 고차함수로 변경해주는 연산자 } fun a (str: String) { println("$str 함수 a") } fun b (function: (String) -> Unit) { function("b가 호출한") } // 결과 : b가 호출한 함수 a ※ 반환 값이 없다면 이전에 배운 void와 같은 Kotlin 에서의 Unit 예약어를 사용하면 코틀린만의 반환 값이 없다는 특수한 객체가 전달 람다 (Lambda) 이름이 없는 익명 함수 (Anonymous Funct..
-
[Kotlin 코틀린] 추상클래스와 인터페이스 (Abstract Class & Interface)Kotlin 2021. 1. 8. 23:05
'디모의 Kotlin 강좌' 유튜브 강의 및 추가 학습하여 정리한 내용입니다. 상속과 오버라이딩 open 키워드를 이용하여 클래스가 상속될 수 있도록 할 수 있다. (코틀린은 상속 금지가 기본값으로 java의 final 클래스와 같다) 또한 오버라이딩을 위해 함수에 open 키워드를 붙이고 서브클래스에서 override 키워드를 붙여 재구현이 가능하다. open class Animal (var name:String, var age:Int, var type:String) { open fun eat() { println ("음식을 먹습니다") } fun introduce() { println ("저는 ${type} ${name} 이고, ${age} 살 입니다.") } } class Dog (name Stri..
-
[Kotlin 코틀린] 타입추론(Type inference)과 함수Kotlin 2021. 1. 6. 23:01
'디모의 Kotlin 강좌' 유튜브 강의를 듣고 내용을 정리하였습니다. Type inference (타입추론) val stringValue:String = "my string" val stringValue = "my string" // Type 생략 가능 var intArr:Array = arrayOf(1,2,3,4,5) var intArr = arrayOf(1,2,3,4,5) // Type 생략 가능 코틀린에서는 타입을 명시하지 않아도, 변수가 선언될 때 할당된 값의 형태로 어떤 자료형을 가지는지 추론해준다. → 반드시 특정 자료형으로 지정해야하는 상황이 아니라면, 타입추론 기능을 이용하여 코드량을 줄일 수 있다. 함수 fun add(a: Int, b: Int, c: Int): Int { return ..