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, 자동차등 여러 임베디드 장비에 사용된다. 안드로이드는 무료이고 기기에 이식하지 쉽다는 장점이 있다고 한다.
시스템 하드웨어를 관리할 뿐 아니라 응용 소프트웨어를 실행하기 위해 하드웨어 추상화 플랫폼과 공통시스템 서비스를 제공하는 시스템 소프트웨어, 쉽게 윈도우라고 생각할 수 있다.
build.gradle - 빌드 설정파일
AndroidManifest.xml - 앱의 메인 환경 파일
res - 리소스 폴더
activity_main.xml - 레이아웃 XML파일
MainActivity.kt - 메인 액티비티 파일
manifest
태그의 속성은 앱의 고유한 식별자 역할을 하는 패키지 이름 정의application
태그는 앱을 구성하고 있는 컴포넌트를 application
태그 하위에 정의한다.activity
, 서비스 service
, 브로드 캐스트 수신기 - receiver
콘텐츠 제공자 - provider
activity
태그의 name
속성은 Activity 서브클래스의 완전히 정규화된 클래스 이름을 나타냄intent-filter
태그는 해당 컴포넌트가 수신할수있는 인텐트를 걸러낸다(다른 앱에서 전화관련 앱을 호출할 경우 해당앱이 호출될지여부), 해당 액티비티 컴포넌트가 앱을 작시키는 시작점으로 설정되고 런처(홈스크린)에 등록되어 있음을 나타냄