TIL #49

loci·2024년 6월 18일
0

TIL

목록 보기
47/103


H-Index
각 논문이 인용된 숫자자 배열로 주어지고 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하인용되는 h값의 최댓값을 구한다.

논문의 인용횟수 배열을 내림차순으로 정렬해 인덱스 i의 값이 인덱스+1 보다 크거나 같으면 answer에 저장하도록하고 이를 반복해 최댓값을 구하도록 했다.


class Solution {
    fun solution(citations: IntArray): Int {
        var answer = 0
        citations.sortDescending()
        for ( i in citations.indices){
            if(citations[i] == i+1){
                return i+1
            }
        }
        return answer
    }
}

처음 풀이, 테스트 케이스에서 한문제만 맞게 나와서 조건을 수정

class Solution {
    fun solution(citations: IntArray): Int {
        var answer = 0
        citations.sortDescending()
        for ( i in citations.indices){
            if(citations[i] >= i+1){
                answer = i+1
            }
        }
        return answer
    }
}

다른사람의 풀이

import kotlin.math.min

class Solution {
    fun solution(citations: IntArray) = citations.sortedDescending().mapIndexed { idx, item -> min(idx + 1, item) }.max()
}

안드로이드 앱개발 입문강의

안드로이드란

휴대전화를 비롯한 휴대용 장치를 위한 운영체제와 미들웨어, 사용자 인터페이스 그리고 표준응용프로그램을 포함하고 있는 모바일 운영체제이자 모바일 플랫폼

핸드폰 뿐만 아니라 웨어러블기기, TV, 자동차등 여러 임베디드 장비에 사용된다. 안드로이드는 무료이고 기기에 이식하지 쉽다는 장점이 있다고 한다.

운영체제

시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼과 공통시스템 서비스를 제공하는 시스템 소프트웨어, 쉽게 윈도우라고 생각할 수 있다.

Gradle

  • Gradle은 안드로이드 앱의 빌드도구이다.
  • 프로젝트수준의 build.gradle(Project:AndroidLab)과 모듈수준의 build.gradle(Module:AndroidLab.app)이 있다.

build.gradle - 빌드 설정파일
AndroidManifest.xml - 앱의 메인 환경 파일
res - 리소스 폴더
activity_main.xml - 레이아웃 XML파일
MainActivity.kt - 메인 액티비티 파일

Manifest

  • 앱의 기본특징을 설명하고, 앱의 구성요소인 컴포넌트(액티비티, 서비스등)를 정의한 XML파일
  • manifest 태그의 속성은 앱의 고유한 식별자 역할을 하는 패키지 이름 정의
  • application태그는 앱을 구성하고 있는 컴포넌트를 application태그 하위에 정의한다.
    - 액티비티 - activity, 서비스 service , 브로드 캐스트 수신기 - receiver 콘텐츠 제공자 - provider
  • activity 태그의 name 속성은 Activity 서브클래스의 완전히 정규화된 클래스 이름을 나타냄
  • intent-filter 태그는 해당 컴포넌트가 수신할수있는 인텐트를 걸러낸다(다른 앱에서 전화관련 앱을 호출할 경우 해당앱이 호출될지여부), 해당 액티비티 컴포넌트가 앱을 작시키는 시작점으로 설정되고 런처(홈스크린)에 등록되어 있음을 나타냄
profile
편리한 개발자

0개의 댓글