개발새발 - IT 기술블로그
article thumbnail
[백준 알고리즘] 너의 평점은(25206번) - 코틀린 풀이
백준 알고리즘 2023. 9. 13. 11:24

백준 알고리즘 너의 평점은 25206번- 코틀린 풀이 https://www.acmicpc.net/problem/25206 25206번: 너의 평점은 인하대학교 컴퓨터공학과를 졸업하기 위해서는, 전공평점이 3.3 이상이거나 졸업고사를 통과해야 한다. 그런데 아뿔싸, 치훈이는 깜빡하고 졸업고사를 응시하지 않았다는 사실을 깨달았다! 치 www.acmicpc.net 문제 정답 import java.util.*; fun main() { val sc = Scanner(System.`in`) var sum = 0.0 var sumScore = 0.0 for(i in 0..19) { val subject = sc.next() val score = sc.nextDouble() val grade = sc.next() va..

article thumbnail
[백준 알고리즘] 공 넣기(10810번) - 코틀린 풀이
백준 알고리즘 2023. 9. 11. 10:39

백준 알고리즘 공 넣기 10810 - 코틀린 풀이 https://www.acmicpc.net/problem/10810 10810번: 공 넣기 도현이는 바구니를 총 N개 가지고 있고, 각각의 바구니에는 1번부터 N번까지 번호가 매겨져 있다. 또, 1번부터 N번까지 번호가 적혀있는 공을 매우 많이 가지고 있다. 가장 처음 바구니에는 공이 www.acmicpc.net 문제 정답 import java.lang.StringBuilder import java.util.* fun main() { val sc = Scanner(System.`in`) val N = sc.nextInt() val M = sc.nextInt() val arrayN = IntArray(N) val result = StringBuilder()..

article thumbnail
[백준 알고리즘] 오븐시계(2525번) - 코틀린 풀이
백준 알고리즘 2023. 9. 8. 16:24

백준 알고리즘 2525 - 코틀린 풀이 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net 문제 전체 코드 import java.util.* fun main() { val sc = Scanner(System.`in`) val A = sc.nextInt() val B = sc.nextInt() val C = sc.nextInt() val sum = 60 * A + B + C// A와 B를 분으로 변환한 것에 C를 더함 var hours ..

[안드로이드] 코틀린 typealias에 대해 알아보기
Android 2023. 9. 6. 10:14

안녕하세요. 이번 포스팅에서는 코틀린의 typealias에 대해 알아보겠습니다. 코틀린의 typealias 키워드를 직역해보면 입니다. 말 그대로 타입(유형)에 별명을 지어주는 것인데요. 공식문서를 참고하거나 Kotlin Weekly를 참고해보면, typealias는 타입의 이름이 너무 길거나 중복되는 경우 좀 더 읽기 쉬운 이름으로 변경하기 위해 사용한다고 합니다. 예를 들어, 아래와 같이 변수를 생성한다고 한다고 할 때..벌써부터 머리가 어지럽습니다. var type: LiveData 만약 변수가 아니라 함수나 데이터 클래스에 중복되어서 들어간다고하면 정신이 혼미해지죠 data class Type(val name: LiveData, val value: LiveData) 그 때, 우리는 제너릭 타입의 ..

article thumbnail
[안드로이드] @JvmStatic의 역할은? + 확장 함수의 개념
Android 2023. 9. 5. 16:14

안녕하세요. 이번 포스팅에서는 JvmStatic이라는 어노테이션이 하는 역할에 대해서 알아보겠습니다. 간단한 예제로 결과와 함께 설명드리겠습니다.    결론JvmStatic 어노테이션은 자바 파일에서 코틀린의 함수나 메서드를 정적(static) 멤버 처럼 사용하기 위해 존재합니다.  개요 확장함수 JvmStatic은 주로 코틀린에서 사용합니다.  위의 결론을 풀어서 설명드리면 한 프로젝트안에 코틀린 파일과 자바 파일이 공존한다고 할 때, 자바 파일에서는 함수의 멤버에 접근하기 위해 함수에게 인자를 전달하는 과정이 필요합니다.  예를들어 자바에서 객체에 접근할때 일반적으로 아래와 같이 클래스에 접근해 객체의 인자를 가져옵니다.KotlinClass kotlinClass = new KotlinClass();k..

[안드로이드] 웹뷰(WebView)(3) - 브라우저 캐시 사용하기
Android 2023. 9. 4. 11:20

안녕하세요. 이번 포스팅에서는 웹 자바스크립트에서 설정한 캐시를 사용하여 웹페이지를 로드하는 방법에 대해 알아보겠습니다. 실제로 안드로이드에서 캐시를 통한 웹 로드인지 네트워크를 통한 웹 로드인지 구분하는 메서드는 없는 것으로 알고있기 때문에 사용하는 방법에 대한 설명만 드리고 마무리하는 것으로 하겠습니다. 웹뷰에 대한 생성 및 제어에 관련된 포스팅은 아래에 있습니다. 2022.12.26 - [Android] - [안드로이드] 웹뷰(WebView)(1) - 앱 브라우저에서 호출 2023.01.03 - [Android] - [안드로이드] 웹뷰(WebView)(2) - 접근과 제어 개요 우리가 웹페이지를 브라우저에서 로드할때 리소스가 큰 이미지 파일이나 많은 양의 뷰를 불러오는 것은 페이지 로드시간의 지연에..

article thumbnail
[안드로이드] 단축키를 커스텀하여 개발속도 향상시키기⌨
Android 2023. 9. 1. 09:46

안녕하세요. 이번 포스팅에서는 안드로이드 스튜디오에서 자주쓰는 IDE 기능들의 단축키를 설정하여 개발 속도를 향상시키는 방법에 대해 소개드리려고 합니다. 자주 사용하는 기능들을 마우스 없이 한번의 키 입력으로 사용할 수 있다는건 개발자에게 있어서 생각 이상의 유용함이죠. 간단하지만 방법을 몰라서 사용하지 못하시는 분들도 많고, 크게 중요하지 않다고 생각해서 사용하지 않으시는 분들도 많아서 몇가지 추천드리려고 합니다. 방법은 생각보다 간단합니다. 단축키 변경 먼저 File > Settings에 들어갑니다. 검색창에 Keymap 이라고 입력하시면 안드로이드 스튜디오의 모든 기능들이 나열되어있습니다. 여기서 파란색으로 표시되는 항목들이 커스텀으로 재설정한 기능들이 포함되어 있는 항목입니다. 하위 경로로 들어가..

article thumbnail
[안드로이드] 눌러서 공유하기 구현🔗
Android 2023. 8. 24. 15:54

안녕하세요. 이번 글에선 공유하기 버튼을 클릭하면 해당 URL 혹은 데이터를 공유하는 기능에 대해 알아보겠습니다. 예제는 아래 개요의 순서대로 진행되며, 코드는 코틀린으로 작성되었습니다. 결과👀 개요 진행 순서는 아래와 같습니다. 1. 공유하기 버튼 생성 2. 인텐트 타입 및 타이틀 지정 3. 공유 할 데이터 지정 4. chooser로 사용자가 공유할 환경 선택 구현 공유하기 버튼 생성 저는 기본 버튼을 생성하여 공유하기 기능을 넣겠습니다. 용도에 맞게 아이콘이나 텍스트를 넣어서 사용하시면 되겠습니다. 인텐트 타입 및 타이틀 지정 버튼을 바인딩하고 클릭 이벤트에 공유하기를 진행 할 Intent를 생성해줍니다. ACTION_SEND_MULTIPLE 플래그로 공유 기능을 가진 인텐트를 생성하였고, 인텐트의 ..