본문 바로가기

Dev/Algorithm44

간만의 알고리즘 공부 - 5 (행렬 곱셈) 문제 설명2차원 행렬 arr1과 arr2를 입력받아, arr1에 arr2를 곱한 결과를 반환하는 함수, solution을 완성해주세요.제한 조건- 행렬 arr1, arr2의 행과 열의 길이는 2 이상 100 이하입니다.- 행렬 arr1, arr2의 원소는 -10 이상 20 이하인 자연수입니다.- 곱할 수 있는 배열만 주어집니다. 입출력 예  내가 시도한 방법fun solution(arr1: Array, arr2: Array): Array { var answer = arrayOf() val answerList = answer.toMutableList() for (arr1RowIndex in arr1.indices) { var answerColumn = mutableListOf(.. 2024. 7. 3.
간만의 알고리즘 공부 - 4 (이진 변환 반복하기) 문제 설명0과 1로 이루어진 어떤 문자열 x에 대한 이진 변환을 다음과 같이 정의합니다.- x의 모든 0을 제거합니다.- x의 길이를 c라고 하면, x를 "c를 2진법으로 표현한 문자열"로 바꿉니다.예를 들어, x = "0111010"이라면, x에 이진 변환을 가하면 x = "0111010" -> "1111" -> "100" 이 됩니다.0과 1로 이루어진 문자열 s가 매개변수로 주어집니다. s가 "1"이 될 때까지 계속해서 s에 이진 변환을 가했을 때, 이진 변환의 횟수와 변환 과정에서 제거된 모든 0의 개수를 각각 배열에 담아 return 하도록 solution 함수를 완성해주세요.제한사항s의 길이는 1 이상 150,000 이하입니다.s에는 '1'이 최소 하나 이상 포함되어 있습니다. 어떻게 해야하는지.. 2024. 7. 3.
간만의 알고리즘 공부 - 3 (정수제곱근 판별) 문제 설명임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.제한 사항n은 1이상, 50000000000000 이하인 양의 정수입니다.입출력 예n = 121 / return 144n = 3 / return -1입출력 예 설명입출력 예#1 - 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴합니다.입출력 예#2 - 3은 양의 정수의 제곱이 아니므로, -1을 리턴합니다.  내장 함수들을 활용하지 않고 풀어서 아쉽다. 내가 푼 방법class Solution { fun solution(n: Long): Long { .. 2024. 6. 30.
간만의 알고리즘 공부 - 2 (최소공배수) 문제문제 설명두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배수는 n 개의 수들의 배수 중 공통이 되는 가장 작은 숫자가 됩니다. n개의 숫자를 담은 배열 arr이 입력되었을 때 이 수들의 최소공배수를 반환하는 함수, solution을 완성해 주세요.제한 사항- arr은 길이 1이상, 15이하인 배열입니다.- arr의 원소는 100 이하인 자연수입니다.입출력 예입 : [2,6,8,14] / 출 : 168입 : [1,2,3] / 출 : 6  산수 관점에서는 가능했는데 어떻게 구현해야할지 몰라서 접근방법(?)이라고 적혀있지만 거의 답이였는 .. 2024. 6. 27.
간만의 알고리즘 공부 - 1 (JadenCase) class Solution { fun solution(s: String): String { var list = s.split(" ") var stringBuilder = StringBuilder() for (item in list) { val word = if (item.matches("[0-9]*".toRegex())) { item.lowercase() } else { item[0].uppercase() + item.substring(1).lowercase() } stringBuilder.append(word + ".. 2024. 6. 26.
[프로그래머스] 자릿수 더하기 LV1 / kotlin 자릿수 더하기 자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요. 예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12931 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1차 시도 class Solution { fun solution(n: Int): Int { var answer = 0 if (n < 10) { answer = n } else { .. 2022. 12. 4.