모바일 운영체제
- 시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위하여
하드웨어 추상화 플랫폼과 공통 시스템 서비스를 제공하는 시스템 소프트웨어이다.
사용자 <-> 응용 프로그램 <-> 운영 체제 <-> 하드웨어
안드로이드 OS의 주요 특징
- 오픈 소스
- Java and Kotlin 개발 언어
- 완벽한 컴포넌트 제공
- 쉬운 앱 간 연동
- 다양한 기능 지원
안드로이드 모바일 플랫폼 ( 모바일 운영체제 + 애플리케이션 프레임워크)
모바일 운영 체제 - 모바일 앱 실행을 쉽게 해줌
애플리케이션 - 모바일 앱 개발을 쉽게 해줌
Manifest.xml -> 앱의 기본 특징을 설명하고, 앱의 구성요소인 컴포넌트(액티비티, 서비스 등)을 정의한 XML 파일.
res -> 애플리케이션 리소스(이미지 혹은 문자열)를 코틀린 코드에서 분리하여 독립적으로 유지/관리 할 수 있도록 함으로써, 다양한 환경 변화(화면크기 변화, 사용 언어 변경 등)를 코드의 변경 없이 수용할 수 있음.
drawable - 이미지 리소스
layout - UI구성에 필요한 XML 리소스
mipmap - 앱 아이콘 이미지
values - 문자열 등의 값으로 이용되는 리소스
* res 하위의 폴더 명은 지정된 폴더명 사용.
* 각 리소스 폴더에 다시 하위 폴더를 정의할 수 없다.
* 리소스 파일 명에는 알파벳 대문자를 이용할 수 없다.
class Solution {
fun solution(numbers: IntArray): Int {
val rsp = numbers.sorted()
val a = rsp.last()
val b = rsp[rsp.size - 2]
return a * b
}
}
넘버 원소 중 두 개를 곱해서 최댓값을 return 해주도록 만들어야 하는 문제.
.reversed() // 순서 반대로
.sorted() // 오름차순 정렬
.sortedDescending() // 내림차순 정렬
.shhuffled() // 랜덤 정렬
여기서 내림차순 정렬로 a = rsp.first() 젤 큰 수, 두번 째 값이 두번째로 큰 값이니, 그 다음 수를 지정하고 싶었는데 어떠한 수를 넣어도 되질 않아서 결국은 오름차순 정렬로 해결했다...
다양한 정의들이 간단하지만 이해하기 쉽게 정리되어 있어 다시 복습까지 했네용 :)