코틀린
-
💡[BOJ 1915/ 코틀린] 가장 큰 정사각형 - DP문제풀이/BOJ 2021. 9. 3. 16:03
백준 1915_가장 큰 정사각형 | 문제 링크 대표적인 동적계획법/동적 프로그래밍 (DP:Dynamic Programming) 문제입니다. 문제 설명 n*m 크기의 0과 1로만 이루어진 이차원 배열이 주어집니다. 이 배열에서 (테두리, 내부 포함) 1로 이루어진 가장 큰 정사각형의 넓이를 구하는 문제입니다. 입력 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. 출력 첫째 줄에 가장 큰 정사각형의 넓이를 출력한다. 전체 코드 fun main() { var n = 0 var m = 0 var maxLen = 0 readLine()!!.split(" ").let { n = it[0].toInt() m = it[1].toInt() } val m..
-
💡[BOJ 20922 / 코틀린] 겹치는 건 싫어 - 투 포인터문제풀이/BOJ 2021. 9. 3. 14:26
백준 20922_겹치는 건 싫어 | 문제 링크 투 포인터 기법을 활용한 문제입니다. 문제 설명 N개의 자연수로 이루어진 수열에서, 같은 수가 K번 이하로 반복되는 최장 연속 부분 수열을 구하는 문제입니다. N은 1~200,000 , K는 1~100 범위의 정수로 주어집니다.각 원소 ai는 1~100,000 범위의 정수로 주어집니다. 입력 첫째 줄에 정수 N과 K가 주어진다. 둘째 줄에는 a1,a2,...an이 주어진다. 출력 조건을 만족하는 최장 연속 부분 수열의 길이를 출력한다. Main 함수 (전체 코드) import java.util.* fun main() { var N:Int = 0 var K:Int = 0 readLine()!!.split(" ").let { N = it[0].toInt() K ..
-
💡[BOJ 21608 / 코틀린] 상어 초등학교 - 구현문제풀이/BOJ 2021. 9. 2. 18:19
백준 21608_상어 초등학교 | 문제 링크 특별한 알고리즘이 아닌 단순한 구현 문제입니다. 문제 설명 N*N 교실에 1번부터 N²번까지의 학생이 한 자리씩 앉습니다. 각 학생의 친한 친구 4명씩을 사전 조사를 통해 파악해놨습니다. 각 학생의 만족도 총합이 가장 큰 좌석 배치 방법을 구하시오. 근처에 친한 친구가 0명이면 만족도는 0이고, 1명이면 1, 2명이면 10, 3명이면 100, 4명이면 1000이다. '근처, 인접'은 사방(四方)을 이야기한다. 규칙의 순서는 다음과 같다. 1. 빈 칸 중 친구가 인접한 칸이 가장 많은 칸으로 자리를 정한다. 2. 1을 만족하는 칸이 여러 개이면, 인접한 칸 중 빈 칸이 가장 많은 칸으로 자리를 정한다. 3. 2를 만족하는 칸도 여러 개인 경우에는 행의 번호가 가..
-
💡 [Kotlin] Double형 변수 소수점 자릿수 설정, 반올림, 올림, 내림| 프로그래밍 분야/Kotlin 2021. 7. 26. 21:15
코틀린에서 Double형 변수를 표현하는 방법은 여러가지가 있습니다. 그 중 가장 강력한 것으로 String.format() 메서드를 먼저 보겠습니다. String.format() fun main() { val dNum:Double = 454.14600 println(String.format("%.0f", dNum/100).toDouble() * 100)// 500.0 println(String.format("%.2f", dNum))// 454.15 println(String.format("%.8f", dNum))// 454.14600000 } 이렇듯 String.format() 메서드를 사용하여 C언어에서 float타입 변수를 format 표현식으로 자유롭게 가공했던 방법을 그대로 사용할 수 있습니다...
-
💡 [Kotlin] 예제를 통해 보는 기본 문법2 - 함수 표현식, 기본 입출력, split(), map(), if-else, 삼항연산자| 프로그래밍 분야/Kotlin 2021. 7. 23. 23:04
Hello World! 출력하기 (BOJ 2557) fun main() = print("Hello World!") 한 줄짜리 함수는 중괄호{} 를 생략하고 등호= 를 통해 표현할 수 있습니다. 이 때 함수의 리턴 타입(return type)과 우변의 리턴 타입은 같아야 합니다. 함수의 리턴 타입을 명시하지 않을 시, 우변의 리턴 타입이 자동으로 캐스팅됩니다. 예 ) fun func() = 3 다음과 동일) fun func():Int { return 3 } 기본 콘솔 출력 함수에는 print()와 println()이 있으며, 동작은 동일하나 println()은 마지막에 개행(줄바꿈)이 추가됩니다. 알람 시계 설정 (BOJ 2884) fun main() { val input = readLine()!!.spl..
-
💡 안드로이드 교재 추천 <실무에 바로 적용하는 안드로이드 프로그래밍>| 이모저모 2021. 7. 14. 00:40
한줄 키워드 초급, 중급, 안드로이드 개발자, 최신 기술, 코틀린(Kotlin), 라이브러리, 알찬 내용, 실무형 앱 고로놔때문에 최근 일주일간 밖에 나간 게 세 번밖에 없네요. 그 중 두번은 42서울 퇴소 관련으로 잠깐 슝 갔다 온 일이었고, 한 번은 잠실 교보문고에 다녀왔는데요 교보문고에 간 배경은 이렇습니다. 다음은 입문자용 안드로이드 책 한 권을 떼고, 실제 프로젝트를 만들려고 보니까 든 생각? 느낌? 입니다. "이제 안드로이드 스튜디오 기능은 다 알겠고, 개념도 다 알겠어. 근데 앱은 어떻게 만들지?" 어차피 이제 SSAFY를 하면서 차근차근 배워나가기야 하겠지만... 제 스스로 개별학습도 하고싶어서 길잡이가 필요하다는 생각이 들어서, 서점으로 직행했습니다 직접 가서 수십권의 안드로이드 저서를 ..
-
[프로그래머스] 프린터 (Kotlin)문제풀이/프로그래머스 2021. 7. 2. 23:10
문제 링크 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 두 가지 방법으로 풀었습니다. 첫 번째 방법은 ArrayList를 이용한 큐의 구현, 두 번째 방법은 java.util.ArrayDeque를 import하여 사용. 로직은 동일하며, 다른 사람의 풀이에서도 크게 획기적인 방법은 찾지 못했습니다. 퍼포먼스는 케이스마다 조금씩 다르나, 평균적으로 아주 약간 ArrayDeque를 이용한 두 번째 방법이 더 좋게 나왔습니다. 내 풀이(1) class Solution { fun solution(priorities:..
-
[프로그래머스] 기능개발 (Kotlin)카테고리 없음 2021. 6. 30. 17:18
문제 링크 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 내 풀이 class Solution { fun solution(progresses: IntArray, speeds: IntArray): IntArray { val tmp = mutableListOf() for (i in progresses.indices) { if ((100 - progresses[i]) % speeds[i] != 0) { tmp.add((100 - progresses[i]) / speeds[i] + 1) } else { tmp..