[ Programming/코딩테스트 ][프로그래머스] 두 개 뽑아서 더하기2024-02-05 22:11:08▷ 해결 날짜 : 2023.02.05 ▷ 소요 시간 : 15분 ▷ 사용 언어 : 코틀린 🔎문제 : 정수 배열 numbers가 주어집니다. numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 📑제한사항 : numbers의 길이는 2 이상 100 이하입니다. numbers의 모든 수는 0 이상 100 이하입니다. 📑입출력 예 numbers result [2,1,3,4,1] [2,3,4,5,6,7] [5,0,2,7] [2,5,7,9,12] 📑입출력 예시 #1 2 = 1 + 1 입니다. (1이 numbers에 두 개 있습니다.) 3 = 2 + 1 입니다. 4 = 1 + 3 입니다. 5 =..
[ Programming/코딩테스트 ][프로그래머스] 숫자 문자열과 영단어 - replace2024-01-24 09:38:43▷ 해결 날짜 : 2024.01.24 ▷ 소요 시간 : 10분 ▷ 사용 언어 : 코틀린 🔎문제 : 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다음 표와 같습니다. 0 zero ..
[ Programming/코딩테스트 ][프로그래머스] 크기가 작은 부분 문자열2023-12-28 09:24:50▷ 해결 날짜 : 2023.12.28 ▷ 소요 시간 : 00분 ▷ 사용 언어 : 코틀린 🔎문제 : 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요. 예를 들어, t="3141592"이고 p="271" 인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 📑제한사항 : 1 ≤ p의 길이 ≤ 18 p의 길이 ≤ t의 길이 ≤ 10,000 t와 p는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 📑입..
[ Programming/코딩테스트 ][프로그래머스] 삼총사2023-12-27 10:14:35▷ 해결 날짜 : 2023.12.27 ▷ 소요 시간 : 25분 ▷ 사용 언어 : 코틀린 🔎문제 : 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중..
[ Programming/코딩테스트 ][프로그래머스] 최대공약수와 최소공배수2023-12-21 11:19:45▷ 해결 날짜 : 2023.12.21 ▷ 소요 시간 : 20분 ▷ 사용 언어 : 코틀린 🔎문제 : 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 📑제한사항 : 두 수는 1이상 1000000이하의 자연수입니다. n m return 3 12 [3, 12] 2 5 [1, 10] 📑입출력 예시 #1 위의 설명과 같습니다. 📑입출력 예시 #2 자연수 2와 5의 최대공약수는 1, 최소공배수는 10이므로 [1, 10]을 리턴해야 합니다. ⌨본인 코드 clas..
[ Programming/코딩테스트 ][프로그래머스] 문자열 내림차순으로 배치하기 - joinToString, sortedDescending2023-12-13 09:30:57▷ 해결 날짜 : 2023.12.13 ▷ 소요 시간 : 10분 ▷ 사용 언어 : 코틀린 🔎문제 : 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 📑제한사항 : str은 길이 1 이상인 문자열입니다. 📑입출력 예 s return "Zbcdefg" "gfedcbZ" ⌨본인 코드 class Solution { fun solution(s: String): String { var answer = "" answer = s.toCharArray().sortedDescending().joinToString("") return answer } } 실수한점 sor..
[ Programming/코딩테스트 ][프로그래머스] 행렬의 덧셈 - for(indices), mapIndexed2023-12-12 11:17:21▷ 해결 날짜 : 2023.12.12 ▷ 소요 시간 : 30분 ▷ 사용 언어 : 코틀린 🔎문제 : 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 📑제한사항 : 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 📑입출력 예 arr1 arr2 return [[1,2],[2,3]] [[3,4],[5,6]] [[4,6],[7,9]] [[1],[2]] [[3],[4]] [[4],[6]] ⌨본인 코드 class Solution { fun solution(arr1: Array, arr2: Array): Array { var answ..
[ Programming/코딩테스트 ][프로그래머스] 직사각형 별찍기2023-12-12 09:18:49▷ 해결 날짜 : 2023.12.12 ▷ 소요 시간 : 5분 ▷ 사용 언어 : 코틀린 🔎문제 : 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 📑제한사항 : n과 m은 각각 1000 이하인 자연수입니다. 📑입력 5 3 📑출력 ***** ***** ***** ⌨본인 코드 fun main(args: Array) { val (a, b) = readLine()!!.split(' ').map(String::toInt) for(i in 1..b){ for(j in 1..a){ print("*") } println() } } 실수한점 별을 수만큼 찍고 그 다음칸으로 넘어가도록 println()을 적어야 했는..
[ Programming/코딩테스트 ][프로그래머스] 문자열 다루기 기본 - isDigit()2023-12-11 09:31:27▷ 해결 날짜 : 2023.12.11 ▷ 소요 시간 : 15분 ▷ 사용 언어 : 코틀린 🔎문제 : 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 📑제한사항 : s는 길이 1 이상, 길이 8 이하인 문자열입니다. s는 영문 알파벳 대소문자 또는 0부터 9까지 숫자로 이루어져 있습니다. 📑입출력 예 s return "a234" false "1234" true ⌨본인 코드 class Solution { fun solution(s: String): Boolean { var answer = true answer = s.all{it.isDigit()} && ..
[ Programming/코딩테스트 ][프로그래머스] 부족한 금액 계산하기 - repeat2023-12-08 10:39:18▷ 해결 날짜 : 2023.12.08 ▷ 소요 시간 : 15분 ▷ 사용 언어 : 코틀린 🔎문제 : 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 📑제한사항 : 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500,price는 자연수 처음 가지고 있던 금액 money : ..
[ Programming/코딩테스트 ][프로그래머스] 약수의 개수와 덧셈2023-12-08 09:29:09▷ 해결 날짜 : 2023.12.08 ▷ 소요 시간 : 10분 ▷ 사용 언어 : 코틀린 🔎문제 : 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 📑제한사항 : 1 ≤ left ≤ right ≤ 1,000 📑입출력 예 left right return 13 17 43 24 27 52 📑입출력 예시 #1 📑입출력 예시 #2 ⌨본인 코드 class Solution { fun solution(left: Int, right: Int): Int { var answer: Int = 0 for (i in left..right) { var..
[ Programming/Kotlin ]코틀린 람다식(Lambda)2023-12-07 12:12:05일자 : 2023.12.07 수정 : 2024.02.03 📝람다 (Lamda) 💬람다식 1. 람다식 람다식은 우리가 마치 value 처럼 다룰 수 있는 익명함수 1) 메소드의 파라미터로 넘겨줄수가 있다. fun maxBy(a :Int) 2) return 값으로 사용할 수 있다. 람다의 기본 정의 val lamdaName(람다식의 이름) : Type = {argumentList -> codeBody} val square : (Int) -> (Int) = {number -> number*number} // 아래와 같다, 타입명시 val square1 = {number : Int -> number*number} // 타입추론이 가능하도록 최소한 한곳에 타입 명시 val nameAge = {name : Stri..