함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요.
class Solution {
fun solution(x: Int, n: Int): IntArray {
var answer = intArrayOf()
for(i in 1..n){
answer = answer.plus(x*i)
}
return answer
}
}
처음에는 이렇게 풀었는데,
코드 실행 해봤을 때 되길래 채점을 돌렸더니 테스트 14개중에 12개만 통과하고 2개를 통과못함!
지금까지 아예 안된적은 많아도 일부만 된적은 처음이라 신기했다
그래서 다른 방식으로 다시 도전
class Solution {
fun solution(x: Int, n: Int): List<Int> {
var answer = mutableListOf<Int>()
for(i in 1..n){
answer.add(x*i)
}
return answer
}
}
이렇게 리스트로도 해봤는데 똑같이 마지막 2문제에서 테스트를 통과못했다고 뜨길래
GPT한테 물어봤더니
Int 타입의 범위를 초과하는 경우가 있어서 그렇다고한다.
Type을 Long으로 바꿔주면 된다고함!
class Solution {
fun solution(x: Int, n: Int): List<Long> {
var answer = mutableListOf<Long>()
for(i in 1..n){
answer.add(x.toLong()*i)
}
return answer
}
}
그래서 이렇게 Long으로 타입을 바꿔주었더니 통과함
class Solution {
fun solution(x: Int, n: Int): LongArray = LongArray(n) { x.toLong() * (it + 1) }
}
항상 들어가면 첫번째에 이렇게 간단한 코드 있는데 짱남
왜 이렇게 간단하게 푸는건데~~!!!
왜 나는 이렇게 못하는데~~~!!!