2025/03/17 2

[Android] 안드로이드 아키텍처(Architecture) 권장사항

안드로이드의 아키텍처에 관해 설명하기 전에 안드로이드에 대해 알아보자.안드로이드란?안드로이드는 구글에서 만든 스마트폰과 태블릿 PC 같은 터치스크린 모바일 장치용으로 디자인된 운영체제이다.수정된 리눅스 커널 버전을 비롯하여 오픈 소스 소프트웨어에 기반을 둔 모바일 운영체제이다. 안드로이드는 아래와 같은 구조를 가진다. 안드로이드는 리눅스 커널 위에서 동작하고, 자바와 코틀린을 통하여 개발한다. 그럼 안드로이드의 권장 아키텍처는 무엇일까?안드로이드는 MVVM 또는 MVI 패턴을 사용하고 Jetpack 라이브러리를 통하여 데이터 바인딩, UI 관리, 의존성 주입 등을 처리하는 것을 권장한다. 위와 같은 구조는 앱의 유지보수성과 확장성을 높이고, 모듈화된 레이어를 통하여 관심사를 분리하고 복잡성을 관리한다. ..

Android 2025.03.17

[백준] 13023번 : ABCDE - C/C++

문제에서 말하는 친구 관계에 대해 다시 살펴보자.A는 B와 친구다.B는 C와 친구다.C는 D와 친구다.D는 E와 친구다.간단하지만 문제에서 말하고 있는 문장을 도식화하면 위와 같다. 사람의 수를 node라고 볼 수 있고, 친구 관계의 수는 edge라고 볼 수 있다.각각 2,000이 MAX 임을 문제에서 이야기하고 있다.그래프를 보고 위의 그림과 같은 관계가 있는지 파악하는 문제이다. 예제 입력4를 그림으로 그려서 확인해 보자.그림은 이렇게 그릴 수가 있다.이제 친구 관계가 위에서 본 것과 같이 일자로 된 것이 있는지 확인해보자.0번 노드에서 출발하여 2번 노드까지 도착하는 것을 도식화하면 아래와 같다.ABCDE 순서로 일자로 나열되기 때문에 해당 예시는 1을 출력하게 되는 것이다. 13023번은 아래와 ..

Algorithm 2025.03.17