본문 바로가기

전체 글158

[코딩테스트] Level. 1 제일 작은 수 제거하기 Kotlin 문제 설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. 제한 조건 arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 [4,3,2,1] [4,3,2] [10] [-1] 나의 풀이 private fun solution(arr: IntArray): IntArray { return if (arr.size == 1) intArrayOf(-1) else arr.filter { it != arr.m.. 2023. 2. 8.
[코딩테스트] Level. 1 정수 제곱근 판별 (feat. Kotlin) 문제 설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 121 144 3 -1 입출력 예 설명 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다. 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다. 제곱 = 어떤 수의 제곱(예: n = 3 x 3) 제곱근 = 제곱된 수의 루트값 . (예 n = √25) sqrt 함수를 사용하여서 제곱근을 구하였다. pow 함수를 사용하여 n 제곱의.. 2023. 2. 7.
[코딩테스트] Level. 1 정수 내림차순으로 배치하기 문제 설명 함수 solution은 정수 n을 매개변수로 입력받습니다. n의 각 자릿수를 큰것부터 작은 순으로 정렬한 새로운 정수를 리턴해주세요. 예를들어 n이 118372면 873211을 리턴하면 됩니다. 제한 조건 n은 1이상 8000000000 이하인 자연수입니다. 입출력 예 118372 873211 private fun solution(n: Long): Long { return n.toString().toList().sortedDescending().joinToString("").toLong() } 점점 함수들의 사용이 익숙해지는 것 같다! 2023. 1. 31.
[코딩테스트] Level. 1 시저암호 문제 설명 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀면 "a"가 됩니다. 문자열 s와 거리 n을 입력받아 s를 n만큼 민 암호문을 만드는 함수, solution을 완성해 보세요. 제한 조건 공백은 아무리 밀어도 공백입니다. s는 알파벳 소문자, 대문자, 공백으로만 이루어져 있습니다. s의 길이는 8000이하입니다. n은 1 이상, 25이하인 자연수입니다. 입출력 예 "AB" 1 "BC" "z" 1 "a" "a B z" 4 "e F d" 이번문제는 이상한 방법들을 많이 시도해 보았지만 솔직하게 못풀었다. 그래서 고수님들의 코드를 보고 풀고.. 2023. 1. 20.
[코딩테스트] Level. 1 약수의 합 문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다. 나의 풀이법 var answer = 0 for (i in 1..n) if (n % i == 0) answer += i return answer 다른 분들의 풀이법. 간결해보인다. answer = (1..n).filter { n % it == 0 }.sum() 2023. 1. 19.
[Android Studio] 클립보드 복사하기 ! (Feat.중복방지) 안드로이드 스튜디오 버젼이 업그레이드 되면서 그 전과 다르게 버전 13 이상부터는 클립보드 메세지가 나오게 됩니다. 그렇기 때문에 기존에 토스트메세지를 보여주던 것과 중복이 되는 경우가 많아졌는데요 중복 방지하는 법을 포스팅 하겠습니다! https://developer.android.com/about/versions/13/features/copy-paste?hl=ko 복사하여 붙여넣기 | Android 개발자 | Android Developers 복사하여 붙여넣기 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. Android 13부터 시스템에서는 콘텐츠가 클립보드에 추가될 때 표준 시각적 확인 메시지를 developer.android.com if (Build.VERSION... 2023. 1. 19.