일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- rxjava cold observable
- 안드로이드 레트로핏 사용법
- rxjava hot observable
- 안드로이드 유닛테스트란
- 안드로이드 os 구조
- jvm이란
- rxjava disposable
- 클래스
- 플러터 설치 2022
- ANR이란
- 안드로이드 라이선스
- jvm 작동 원리
- ar vr 차이
- 스택 큐 차이
- 큐 자바 코드
- 안드로이드 레트로핏 crud
- Rxjava Observable
- 서비스 쓰레드 차이
- 2022 플러터 안드로이드 스튜디오
- 멤버변수
- android retrofit login
- 안드로이드 라이선스 종류
- 안드로이드 유닛 테스트 예시
- 서비스 vs 쓰레드
- 스택 자바 코드
- 객체
- 자바 다형성
- 안드로이드 유닛 테스트
- android ar 개발
- 2022 플러터 설치
- Today
- Total
목록알고리즘 문제 풀이/프로그래머스 (212)
나만을 위한 블로그

문자열 my_string이 매개변수로 주어진다. my_string을 거꾸로 뒤집은 문자열을 리턴하도록 solution()을 완성하라 앞선 문제들에서 컬렉션에 reversed()를 먹이면 컬렉션 안의 요소들이 역순으로 배치되는 걸 확인했다. 그런데 이 reversed()가 문자열에도 적용된다. 그래서 이런 코드를 제출하면 정답으로 인정된다. class Solution { fun solution(str: String) = str.reversed() } 컬렉션 정렬 함수들은 아래 포스팅에 일부 정리해뒀으니 궁금하면 확인해보자. https://onlyfor-me-blog.tistory.com/569 [Kotlin] 컬렉션 정렬 함수 정리 코틀린에는 Immutable, mutable 2가지 속성이 있고 컬렉션도 ..

정수가 들어 있는 배열 num_list가 매개변수로 주어진다 num_list의 원소 순서를 거꾸로 뒤집은 배열을 리턴하도록 solution()을 완성하라 그냥 뒤집으면 된다. 코틀린은 컬렉션에 대한 여러 편의 함수를 제공하기 때문에 컬렉션 안의 요소를 뒤집는 함수를 호출한 다음 intArray로 바꿔주면 된다. class Solution { fun solution(num_list: IntArray) = num_list.reversed().toIntArray() } 이것도 충분히 간단한데 더 간단하게 할 수 있다. 함수 한 번 호출하면 끝이다. class Solution { fun solution(num_list: IntArray) = num_list.reversedArray() } 정말 변태같이 짧아진다..

머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌다 나이 age가 주어질 때 2022년 기준 출생연도를 리턴하는 solution()을 완성하라 나이는 태어난 연도에 1살이라는 조건을 잘 생각해야 한다. 그래서 2022년을 기준으로 하는 게 아니라 2023년을 기준으로 뺄셈을 해야 한다. 주먹구구식으로 푼다면 아래와 같이 풀 수 있다. class Solution { fun solution(age: Int): Int { val a = age - 1 return 2022 - a - 1 } } a 뒤의 -1이 거슬리기 때문에 저걸 없애고 뺄셈한 결과를 바로 리턴시키면 더 간결해진다. 전체에 +1을 시키기 때문에 2022는 2023이 되도록 하면 된다. age는 입력값이기 때문에 +1을 할 필요가 없다. ..

아이스 아메리카노는 한 잔에 5,500원이다. 머쓱이가 가진 돈 money가 매개변수로 주어질 때, 머쓱이가 최대로 마실 수 있는 아메리카노 잔 수와 잔액을 순서대로 담은 배열을 리턴하는 solution()을 완성하라 입력값을 5500으로 나눠서 최대로 마실 수 있는 아메리카노 개수를 구하고, money에서 (5500x최대로 마실 수 있는 아메리카노 개수)를 뺀 값을 배열로 만들어 리턴하면 된다. class Solution { fun solution(money: Int): IntArray { val count = money / 5500 val other = money - (5500 * count) return intArrayOf(count, other) } } 이것보다 더 짧게 만들 수도 있다. clas..

머쓱이네 옷가게는 10만 원 이상 사면 5%, 30만 원 이상 사면 10%, 50만 원 이상 사면 20%를 할인해준다. 구매한 옷의 가격 price가 주어질 때, 지불해야 할 금액을 리턴하도록 solution()을 완성하라 조건에 따라 문제에서 제시하는 할인율을 적용시킨 price를 리턴시키면 된다. 주의할 것은 저 조건들에 해당하지 않는 값이 들어올 경우에는 그 금액을 리턴하도록 처리해야 한다. class Solution { fun solution(price: Int): Int = if (price >= 500000) { (price * 0.8).toInt() } else if (price >= 300000) { (price * 0.9).toInt() } else if (price >= 100000) ..

정수 배열 numbers가 매개변수로 주어진다 numbers의 원소의 평균값을 리턴하도록 solution()을 완성하라 배열 안에 들어있는 모든 값들을 더하고 배열 크기만큼 나눠서 평균값을 구하면 된다. fun solution(numbers: IntArray): Double { var sum = 0 for (i in numbers) { sum += i } return sum.toDouble() / numbers.size } 아니면 코틀린에서 제공하는 average()를 쓰면 된다. 컬렉션에 들어있는 숫자 원소들의 평균값을 구하는 함수다. fun solution(numbers: IntArray) = numbers.average()

피자가게는 피자를 2조각에서 10조각까지 원하는 수로 잘라준다 피자 조각 수 slice와 피자 먹는 사람의 수 n이 매개변수로 주어질 때, n명이 최소 한 조각 이상 피자를 먹으려면 최소 몇 판의 피자를 시켜야 하는지를 리턴하도록 solution()을 완성하라 그냥 인원수를 피자조각 개수로 나눠서 나머지가 없으면 몫을 리턴하고, 아니면 몫에 +1을 하면 풀리겠다 생각해서 그렇게 코드를 짰더니 통과됐다. fun solution(slice: Int, n: Int): Int { if (n % slice == 0) { return n / slice } else { return n / slice + 1 } } 코틀린에선 이런 함수라면 리턴문을 안 사용해도 되고, 굳이 2개나 쓸 필요도 없으니 아래처럼 써도 된다...

피자가게는 피자를 6조각으로 잘라 준다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 리턴하도록 solution()을 완성하라 처음에는 입출력 예를 보고 6과 10의 최소공배수가 30이고, 30조각은 5판이니까 5가 나온 건가 싶어서 유클리드 호제법으로 최소공배수를 구해서 풀기는 풀었는데, 쓸데없이 복잡하다. 더 단순하게 풀 수 있는 방법을 고민하다가 잘 안 되서 다른 사람의 풀이를 확인했다. https://velog.io/@anna_developer/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%ED%94%BC%EC%9E%90-%EB%8..

피자가게는 피자를 7조각으로 잘라 준다. 피자를 나눠먹을 사람 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자 수를 리턴하는 solution()를 완성하라 피자 1판을 7조각으로 나누는데 최소 한 명은 꼭 먹으려면 7로 나눠야 한다. 15명인 경우 (7x2)+1이기 때문에 n이 7의 배수가 아니면 1판 더 추가해야 한다. 이걸 코드로 옮겼더니 통과했다. class Solution { fun solution(n: Int) = if (n % 7 == 0) { n / 7 } else { n / 7 + 1 } }
정수 n이 매개변수로 주어질 때, n 이하의 홀수가 오름차순으로 담긴 배열을 리턴하도록 solution()을 완성하라 문제의 정답 코드에는 solution()이 IntArray를 리턴하도록 되어 있다. 이것에 맞춰서 작성한다면 아래와 같이 할 수 있다. fun solution(n: Int): IntArray { val result = arrayListOf() for (i in 1 .. n) { if (i % 2 != 0) { result.add(i) } } return result.toIntArray() } n 이하의 홀수라고 했기 때문에 n도 포함해야 한다. 그래서 for문의 조건에 intRange를 리턴하는 ".."을 썼다. until은 단어 자체의 의미처럼 마지막 숫자를 제외하는 intRange를 ..