일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 Observable
- 큐 자바 코드
- 서비스 쓰레드 차이
- 2022 플러터 설치
- rxjava cold observable
- 스택 큐 차이
- 클래스
- jvm이란
- 서비스 vs 쓰레드
- android ar 개발
- 안드로이드 os 구조
- ANR이란
- 플러터 설치 2022
- ar vr 차이
- 안드로이드 유닛테스트란
- 안드로이드 라이선스
- 안드로이드 레트로핏 사용법
- 2022 플러터 안드로이드 스튜디오
- 스택 자바 코드
- 안드로이드 유닛 테스트
- rxjava hot observable
- android retrofit login
- jvm 작동 원리
- 객체
- 멤버변수
- rxjava disposable
- 안드로이드 레트로핏 crud
- 자바 다형성
- 안드로이드 유닛 테스트 예시
- Today
- Total
목록알고리즘 문제 풀이/프로그래머스 (212)
나만을 위한 블로그
정수 배열 array가 매개변수로 주어질 때, 가장 큰 수와 그 수의 인덱스를 담은 배열을 리턴하는 solution()을 완성하라 주먹구구식으로 푼 코드는 아래와 같다. class Solution { fun solution(array: IntArray): IntArray { val list = array.toList().sortedDescending() val bigNum = list[0] val index = array.indexOf(bigNum) return intArrayOf(bigNum, index) } } 이걸 줄이면 아래와 같다. class Solution { fun solution(array: IntArray): IntArray = array.maxOrNull().let { intArrayO..
편지를 쓰려고 한다. 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 리턴하는 solution()을 완성하라 제한사항을 보면 그냥 message 길이에 2를 곱한 값을 리턴시키면 되겠다는 생각이 든다. 그래서 아래처럼 주먹구구식으로 풀어봤다. class Solution { fun solution(message: String): Int { val length = message.length return length * 2 } } 이걸 줄인다면 아래처럼 된다. class Solution { fun solution(message: String) = (message.length * 2) }
정수 n이 매개변수로 주어질 때, n의 약수를 오름차순으로 담은 배열을 리턴하는 solution()을 완성하라 주먹구구식으로 푼 풀이는 아래와 같다. class Solution { fun solution(n: Int): IntArray { val list = (1..n).toList() val result = arrayListOf() for (i in list) { if (n % i == 0) { println(i) result.add(i) } } return result.toIntArray() } } 반복문 안에서 조건문 조건에서 실수하면 안 된다. 입력된 값을 1부터 n까지의 숫자로 나눠야 하기 때문이다. 이걸 줄이면 아래와 같이 된다. class Solution { fun solution(n: In..
문자열이 매개변수로 주어진다. 문자열에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 리턴하는 solution()을 완성하라. 한 번만 등장하는 문자가 없을 경우 빈 문자열을 리턴한다 공책에 로직만 써보다가 풀지 못했다. 인터넷에 떠도는 풀이는 아래와 같다. https://velog.io/@jsj3282/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%ED%95%9C-%EB%B2%88%EB%A7%8C-%EB%93%B1%EC%9E%A5%ED%95%9C-%EB%AC%B8%EC%9E%90 프로그래머스 한 번만 등장한 문자 문자열 s가 매개변수로 주어집니다. s에서 한 번만 등장하는 문자를 사전 순으로 정렬한 문자열을 return 하도록 solutio..
문자열과 정수 num1, num2가 매개변수로 주어질 때, 문자열에서 인덱스 num1과 num2에 해당하는 문자를 바꾼 문자열을 리턴하는 solution()을 완성하라 먼저 주먹구구식으로 풀어봤다. 임시 변수를 만들고 두 인덱스의 값을 서로 바꾼 다음 문자열로 만들어 리턴하는 코드인데 통과 처리됐다. class Solution { fun solution(str: String, num1: Int, num2: Int): String { val list = str.toCharArray() val temp = list[num1] list[num1] = list[num2] list[num2] = temp return list.joinToString("") } } 이걸 어떻게 줄일 수 있을까 고민해봤는데 딱히 좋은..
영어로 표기된 숫자를 수로 바꾸려고 한다. 문자열 numbers가 매개변수로 주어질 때, numbers를 정수로 바꿔 리턴하는 solution()을 완성하라 가장 먼저 떠오른 방법은 일일이 replace()로 바꿔주는 방법이었다. class Solution { fun solution(numbers: String): Long { var a = numbers a = a.replace("zero", "0") a = a.replace("one", "1") a = a.replace("two", "2") a = a.replace("three", "3") a = a.replace("four", "4") a = a.replace("five", "5") a = a.replace("six", "6") a = a.repla..
문자열 my_string이 매개변수로 주어질 때, 대문자는 소문자로 소문자는 대문자로 변환한 문자열을 리턴하는 solution()을 완성하라 먼저 주먹구구식으로 풀었다. class Solution { fun solution(str: String): String { val list = str.toCharArray() val s = StringBuilder() for (i in list.indices) { if (list[i].isUpperCase()) { s.append(list[i].toLowerCase()) } else { s.append(list[i].toUpperCase()) } } return s.toString() } } 아래는 위 코드를 좀 더 간략하게 줄여보려고 시도한 코드다. class S..
전쟁 중 적군이 아래와 같은 암호 체계를 쓴다는 걸 알아냈다 - 암호화된 문자열 cipher를 주고받는다 - 그 문자열에서 code의 배수 번째 글자만 진짜 암호다 문자열 cipher, 정수 code가 매개변수로 주어질 때 해독된 암호 문자열을 리턴하는 solution()을 완성하라 아래는 주먹구구식으로 푼 코드다. class Solution { fun solution(cipher: String, code: Int): String { val s = StringBuilder() val list = cipher.split("") for (i in 1 until list.size) { if (i % code == 0) { s.append(list[i]) } } return s.toString() } } 아래는..
369 게임은 1부터 숫자를 하나씩 대며 3, 6, 9가 들어가는 숫자 대신 3, 6, 9의 개수만큼 박수를 치는 게임이다 말해야 하는 숫자 order가 매개변수로 주어질 때 쳐야 할 박수 횟수를 리턴하는 solution()을 완성하라 단순히 매개변수로 받은 숫자 안에 들어있는 3, 6, 9 개수를 모두 구하면 된다. 29423을 받았다면 9, 3이 하나씩 들어 있으니 2를 리턴하는 solution()을 완성해야 한다. 주먹구구식으로 푼다면 아래와 같다. class Solution { fun solution(order: Int): Int { val a = order.toString().split("") var answer = 0 for (i in a.indices) { if (a[i] != "" && (..
정수 배열 array와 정수 n이 매개변수로 주어질 때, array에 들어있는 정수 중 n과 가장 가까운 수를 리턴하는 solution()을 완성하라 어떻게 풀어야 할지도 모르는 문제였다. 다른 사람의 풀이를 참고했다. https://mycodingreview.tistory.com/entry/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4%EA%B0%80%EA%B9%8C%EC%9A%B4%EC%88%98 [프로그래머스/Java] Lv.0 가까운 수 문제 풀이 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 import java.util.ArrayList; import java.util.Collection..