Stack

Jean·2023년 7월 28일
0

//변수 성(first)과 이름(second)을 넣으면 반대 순서(second, first) 출력
이건 stack에 관한 내용이다. 왜냐하면 성과 이름을 순서대로 넣었는데 이름먼저 출력하고 그다음 성이나오니까 먼저 들어간게 나중에 나오는 마지막에 삽입된 자료가 가장 먼저 나오는 LIFO

import java.util.*
    
fun main () {
    var stack = Stack<String>()
    
    stack.push("성")
    stack.push("이름")
 
    
    print("결과물 : ${stack.pop()} ${stack.peek()}")
}
//출력: 결과물 : 이름 성

이렇게 하면 간단하고 완성! 근데 추가로 함수로 구현하라고 한다.
게다가 변수 이름도 있다.

var first = "성"
var second = "이름"
/* 동작 구현 */
println("결과물: $first $second") // "결과물: 이름 성"

그렇다면 stack을 구현하는 함수를 만들어야 한다.
반대 순서로 나올수 있게하는 함수라..
1.새로운 backname 함수 선언(String으로 받고 String으로 반환)

일단 모르겠고 안풀리니까 그냥 stack으로 나오는 함수를 만들어본다.

//변수 성(first)과 이름(second)을 넣으면 반대 순서(second, first) 출력
//main 함수 선언 
//backname 함수 선언(String으로 받고 String으로 변환하는 함수)
//이 함수는 변수를 처리하는데 첫번째 변수 a를 pop 두번째 변수 b를 peek으로 빼내옴 

import java.util.*
    
fun main () {
    var first = "성"
    
    println(backwards(first))
}

fun backwards() : String {
    var stack = Stack<String>()
    var a = ""
    return stack.pop(a)   
}
Too many arguments for public fun backwards(): String defined in root package in file File.kt
Too many arguments for public open fun pop(): String! defined in java.util.Stack

? 잘 모르겠다 gpt도와줘

The backwards function is missing parameters. It should take a String parameter representing the name to reverse.
-> backwards 함수의 파라미터가 없다.
The backwards function is using a Stack to perform the reversal, but it's not being used correctly.
-> stack이 올바르게 사용되고 있지 않다.

import java.util.*

fun main() {
    var first = "성"
    println(backwards(first))
}

fun backwards(name: String): String {
    var stack = Stack<Char>()
			
    // Push each character of the name onto the stack
    for (char in name) {
        stack.push(char)
    }
// 변수 reversed 초기화
    var reversed = ""
//
    // Pop each character from the stack to construct the reversed name
    // ! = 아니면, stack이 비어있지 않을 동안 아래 동작을 반복해라 
    while (!stack.isEmpty()) {
    
   //reversed에 stack.pop한 값을 누적 저장 
        reversed += stack.pop()
    }

    return reversed
}

아몰랑

profile
아 왜 안돼

0개의 댓글