본문 바로가기

[Lv.0] 전국 대회 선발 고사 rank 숫자 1을 찾아 그 때의 리스트의 위치를 가져온다. 그리고 attendace[위치] 의 값이 ture 일 때만 새로운 배열에 추가한다. 그리고 그것을 3번만 실행 한다.class Solution { fun solution(rank: IntArray, attendance: BooleanArray): Int { var isattendace = mutableListOf() var count = 0 for ( i in 1..rank.size) { var num = rank.indexOf(i) if(attendance[num]){ count++ isattendace.ad..
뒤에서 5등 위로 뒤에서 5등 까지 문제에서 0 ~ 4 이였으니깐 5 ~ 마지막 까지 하면 될 듯하다 class Solution { fun solution(num_list: IntArray): IntArray { val answer = num_list.sorted().slice( 5 .. num_list.size - 1 ) return answer.toIntArray() }} 다사풀참
뒤에서 5등까지 역시 함수를 사용하면 너무 쉽다.sorted() 와 slice() 으로 간단히 해결 하였다.class Solution { fun solution(num_list: IntArray): IntArray { val answer = num_list.sorted().slice(0..4) return answer.toIntArray() }}다사풀참
[Lv.0] 배열의 길이에 따라 다른 연산하기 answer에 arr을 넣어두고 작업하였다.class Solution { fun solution(arr: IntArray, n: Int): IntArray { var answer: IntArray = arr.clone() if(answer.size % 2 == 0){ for ( i in answer.indices){ if(i % 2 != 0){ answer[i] = answer[i] + n } } }else{ for ( i in answer.indices){ if( i % 2 == 0){ answer[i] = answer..
[Lv.0] 문자열 묶기 strArr 의 각 요소의 글자 길이에 맞게 그룹으로 만들어야 한다고 했으니,strArr를 일단 길이 만들어서 리스트에 저장해본다. 음... 원소의 길이가 1부터 30이라서 이것을 모두 when 으로 만들기보다는 중복제거 하여 카운팅 해야하는 값들을 가져오고가져온 값들만 리스트에 몇개 있는지 찾으면 될 것 같다.그러던중... 혹시 리스트내의 중복 제거 및 카운트를 해주는 함수가 있을까 하고 ChatGPT를 이용해보았다.3개나 찾아주었다.아무래도 함수형 언어다 보니 이미 구현된 함수들이 많은 것 같다.함수에 대해 하나씩 찾아 가는것이 도움이 되는건지 아니면 GPT 한테 검색해달라고 하는것이 도움이 되는건지... 시간을 생각하면 후자가 맞는것 같고 함수의 종류를 모두 알고 있으면 GPT 도움없이도 쉽게 코딩..
[Lv.0] 배열 비교하기 길이부터 비교하여 같을 경우 배열의 모든 값을 더해서 비교하는 코드를 작성 하면 될 것 같다. class Solution { fun solution(arr1: IntArray, arr2: IntArray): Int { var arr1Sum = 0 var arr2Sum = 0 var answer : Int if(arr1.size != arr2.size) { answer = if(arr1.size > arr2.size) 1 else -1 }else{ for(i in arr1.indices){ arr1Sum += arr1[i] arr2Sum += ar..
[Lv.0] 배열의 길이를 2의 거듭제곱으로 만들기 square 변수에 2의 정수 제곱 값들을 할당하면서 arr의 사이즈를 비교하면서 작거나 같을 때 루프문을 빠져나가는 코드를 구현한 뒤2의 정수 제곱의 값 - arr 의 크기만큼 반복문에 0 값을 추가하는 코드를 추가하였다. class Solution { fun solution(arr: IntArray): IntArray { var answer = mutableListOf() var square = 1 answer.addAll(arr.toList()) while(true){ if(arr.size == square || arr.size  다사풀참
[Lv.0] 무작위로 K개의 수 뽑기 일단 arr를 받으면 distinct() 함수로 중복을 제거한다.answer의 크기와 k 값을 비교한다. k보다 answer의 크기가 크면 k 만큼 잘라서 리턴하면 되고작다면 나머지 수를 -1만큼 채워야 하니깐 k - answer의 크기 만큼 하여서 반복문으로 채워서 리턴 한다.class Solution { fun solution(arr: IntArray, k: Int): IntArray { var answer = mutableListOf() answer.addAll(arr.distinct()) if ( answer.size 다사풀참