잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

코딩테스트 연습 - x만큼 간격이 있는 n개의 숫자

함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.

programmers.co.kr

 

 

 

 

 

class Solution {
    fun solution(x: Int, n: Int): LongArray {
        var answer = LongArray(n)

        for (num in 1..n) {
            answer[num-1] = num.toLong() * x;
        }
        return answer
    }
}

 

테스트 1 통과 (0.01ms, 62.6MB)
테스트 2 통과 (0.02ms, 63.8MB)
테스트 3 통과 (0.02ms, 62.8MB)
테스트 4 통과 (0.02ms, 63.7MB)
테스트 5 통과 (0.03ms, 63MB)
테스트 6 통과 (0.01ms, 63.1MB)
테스트 7 통과 (0.03ms, 65MB)
테스트 8 통과 (0.02ms, 63.7MB)
테스트 9 통과 (0.03ms, 61.3MB)
테스트 10 통과 (0.01ms, 63.2MB)
테스트 11 통과 (0.05ms, 62.7MB)
테스트 12 통과 (0.02ms, 63.2MB)
테스트 13 통과 (0.03ms, 64.1MB)
테스트 14 통과 (0.06ms, 63MB)

 

 

 

 

 

이거 하나 푸는데 array에 관한 것도 엄청 찾아봤네...

 

 

 

 

 

x씩 점점 커진 숫자 배열이 n 길이까지 있으니까 for문으로 이용하여 문제를 풀었는데

Array인 answer에 값을 넣는 것이 어려웠다.

 

 

 

 

 

longArrayOf()는 그냥 정말 말 그대로 텅 빈 long형의 Array를 뜻하는거라서 내가 계속 n으로 사이즈를 지정하려고 해도 틀렸다고 나왔고,

계속 검색해보다가 LongArray()로 만드는 것인 것을 깨닳고 코드를 짰다.

 

 

 

 

그리고 long으로 계산을 해서 넣어야하기 때문에 for문 속에서 num이나 x를 long으로 형 변환을 한 후에 계산을 했다.

(계산 후에 long으로 변환하면 틀렸나고 나오기 때문에 미리 변환 후에 하는 것이 낫다)

 

 

 

 

 

728x90

+ Recent posts