[Kotlin] list와 반복문_오류부터 실행까지

Jean·2023년 7월 27일
1

//자 이제 선생님의 피드백을 받았으니 순서를 지켜 차례대로 의사코드와 코드를 작성해보자
과제:
[리스트+반복문]
전달받은 리스트의 전체 합 계산
ex) listOf(100, 80, 90) -> 270
//웅? 쉬운거 같당 이거 index 첫번재부터 끝까지 ++로 하면 되겠는뎅?
//일단 코드가 생각이나지만 의사코드로 먼저 써본다

// [리스트+반복문]
// 전달받은 리스트의 전체 합 계산
// ex) listOf(100, 80, 90) -> 270
// main 함수랑 listsum 함수 만들고 
// lsitsum함수에서 for 문 반복은 index 0 부터 until list.size
// i++ , return i
// println하면될꺼 같앙! 
fun main () {
    println(listsum(100, 80, 90))
}

fun listsum(input:List<Int>) : List<Int> {
    for(i in 0 until list.size){
        i++
    }
    return i
}

The integer literal does not conform to the expected type List<Int>
Too many arguments for public fun listsum(input: List<Int>): List<Int> defined in root package in file File.kt
Too many arguments for public fun listsum(input: List<Int>): List<Int> defined in root package in file File.kt
Unresolved reference: list
Val cannot be reassigned
Unresolved reference: i

//안된다
//처음부터 뜯어본다 일단 listsum 변환을 저렇게 선언하는게 아닌가? 기존 리스트 예제들은 어떻게 썼는지 봐보자 아닌데 저렇게 쓰는게 맞다
//메인 함수에 변수 선언 후 listOf를 만들어야한다. 이제보니 그게 없었네. 의사코드도 수정해보자
//의사코드를 쓰는 것도 코드를 쓰는 것도 for문 안을 작성하는게 어렵다.

// [리스트+반복문]
// 전달받은 리스트의 전체 합 계산 ex) listOf(100, 80, 90) -> 270
// main 함수 만들기
// listsum 함수 만들기 
// lsitsum 함수에서 for 사용해서 반복 범위는 index 0 until input.size
// input[i++] , i로 반환
// main함수에서 변수 list를 선언하고 listOf입력  
// listsum 출력 
fun main () {
    var list = listOf(100, 80, 90)
    println(listsum(list))
}

fun listsum(input : List<Int>) : List<Int> {
    for(i in 0 until input.size){
        i++
    }
    return i
}
//
Val cannot be reassigned
Unresolved reference: i

//위와 같이 수정했다.
//흠 index와 element가 헷갈린다 element로 더하라고 한거 같은데 아 변수 선언해줘야하나?
//일단 reassigned가 안된다 어떻게 수정해야 할지 알 것 같다.
//응응 다 안된다

// [리스트+반복문]
// 전달받은 리스트의 전체 합 계산 ex) listOf(100, 80, 90) -> 270
// main 함수 만들기
// listsum 함수 만들기 
// lsitsum 함수에서 for 사용해서 반복 범위는 index 0 until input.size
// input[i++] , i로 반환
// main함수에서 변수 list를 선언하고 listOf입력  
// listsum 출력 
fun main () {
    var list = listOf(100, 80, 90)
    println(listsum(list))
}

fun listsum(input : List<Int>) : List<Int> {
    
    for(i in 0 until input.size){
    }
    return 
}

//여기서 막힘
//for문안에 어떻게 써야할지 모르겠따 거의 다 온 느낌인데

// [리스트+반복문]
// 전달받은 리스트의 전체 합 계산 ex) listOf(100, 80, 90) -> 270
// main 함수 만들기
// listsum 함수 만들기 
// lsitsum 함수에서 for 사용해서 반복 범위는 index 0 until input.size
// list 안의 요소를 인덱스 개수만큼 더함
// input[i++]로 list 안의 요소들을 꺼내옴
// 꺼내온 요소를 합침
// main함수에서 변수 list를 선언하고 listOf입력  
// listsum 출력 
fun main () {
    var list = listOf(100, 80, 90)
    println(listsum(list))
}

fun listsum(input : List<Int>) : Int {
    var j = 0
    for(i in 0 until input.size){
        j += input[i++]
       
    }
    return j
}
//출력: Val cannot be reassigned

//흠..여기서 막혔다! 챗지피티에 도움을 요청한다

// [리스트+반복문]
// 전달받은 리스트의 전체 합 계산 ex) listOf(100, 80, 90) -> 270
// main 함수 만들기
// listsum 함수 만들기 
// lsitsum 함수에서 for 사용해서 반복 범위는 index 0 until input.size
// list 안의 요소를 인덱스 개수만큼 더함
// list 안의 요소들을 모두 반복
// 꺼내온 요소를 모두 더함
// main함수에서 변수 list를 선언하고 listOf입력  
// listsum 출력 
fun main () {
    var list = listOf(100, 80, 90)
    println(listsum(list))
}

fun listsum(input : List<Int>) : Int {
    var j = 0
    for(i in 0 until input.size){
        j += input[i]
       
    }
    return j
}
//출력 : 270

//와 진짜 아깝다...++만 빼면 됐다
//굳이 증감할 필요가 없던거지 왜냐면 for문에서 계속 반복해주고 +=연산자를 통해 누적해서 저장하고 있었거든
//이번엔 작성한 의사코드를 가지고 코드를 작성해보라고 하자

fun main() {
    val list = listOf(100, 80, 90)
    println(listsum(list))
}

fun listsum(input: List<Int>): Int {
    var sum = 0
    for (i in 0 until input.size) {
        sum += input[i]
    }
    return sum
}

//동일하게 나왔다
//선생님 말대로 의사코드는 잘 작성한다
//어짜피 코드는 챗지피티가 해주니까 의사코드나 잘 써보자

profile
아 왜 안돼

0개의 댓글