본문 바로가기

코딩테스트 준비(kotlin)/기본14

[kotlin] 문자열 나누기 fun solution(s: String): Int { var array=s.toCharArray() // 문자 배열로 변환 var samecount=0 // 같은 문자 세기 var differcount=0// 다른 문자 세기 var totalcount=0 // 분리된 문자열의 수 var check=array[0] // 처음 비교할 문자는 배열의 첫 문자 for(i in 0 until array.size){ if(check==array[i]){ //같으면 samecount++ 증가 samecount++ } else{ //다르면 differcount 증가 differcount++ } .. 2024. 5. 27.
[kotlin] 푸드 파이트 대회 문제 풀이 방법  주어진 IntArray의 맨 끝 인덱스부터 접근한다.  물은 항상 가운데에 있어야 하므로 물 한개(0)를 먼저 리스트에 추가 주어진 배열을 기준의 맨 끝 인덱스를 접근하여  (배열의 요소/2 ) 만큼 리스트의 맨 앞과 맨 뒤에 값을 추가한다.  fun solution(food: IntArray): String { var index = food.size - 1 var list = arrayListOf() list.add(0) // 리스트에 먼저 0부터 삽입 while (0 2024. 5. 27.
[kotlin] 삼총사 나의 코드 fun solution(number: IntArray): Int { var size = number.size var count = 0 for (i in 0 until size ) { for (j in i+1 until size ) { for (k in j+1 until size) { if(number[i]+number[j]+number[k]==0){ count++ } } } } return count}세 수의 값을 비교하기 위해 3중 for문을 생성하였다. i는 number의 첫번째 수 부터, j는 i의 다음 수 부터.. 2024. 5. 16.
[kotlin] 최대공약수와 최소공배수 나의 풀이fun solution(n: Int, m: Int): IntArray { var answer = intArrayOf(0, 0) var a: Int = 0 var b: Int = 0 for (i in 1..n) { if (n % i == 0 && m % i == 0) { a = i } } answer[0] = a answer[1] = (n * m) / a return answer} 다른 풀이 - 유클리드 호제법(Euclidean Algorithm)유클리드 호제법(Euclidean Algorithm)은 두 정수의 최대공약수를 쉽게 알아내는 방법이다.  A와 B의 최대공약수 GCD(A,B)를 알아내는 유클리드 호제.. 2024. 5. 16.