또 과제
[map]
소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//아스키코드는 엑셀에서 들어본건데 기억도 안난다 그냥 그런 존재만 기억남
//아스키코드 검색ㄱㄱ
//a가 97부터 z 122란다... 숫자를 반복하는건 노가다가 필요없지만 문자를 a-z까지 반복하게 하는건 노가다가 필요하다. 게다가 숫자라도 map에서 반복하는건 조금...
//알파벳은 총 26개 노가다는 좀..
//소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//a가 97 부터 z 122까지 있음
//main 함수 열기
//asciicode 함수 열기
fun main () {
var ascii = mapOf("a" to 97, "z" to 122)
println(ascii, "a")
}
fun asciicode (input:Map<String, Int>,lower:String) : Int {
return input.get(lower)
}
Too many arguments for public inline fun println(): Unit defined in kotlin.io
Too many arguments for public inline fun println(): Unit defined in kotlin.io
Type mismatch: inferred type is Int? but Int was expected
//아 똑같이 했는데 또 오류가 나고 지랄이여..
// 일단 null값 맞다 챙겨주고..
//toomany는 모르겠넹..아 맞다 println에 함수 안써줌 바보멍청이....
//소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//a가 97 부터 z 122까지 있음
//main 함수 열기
//asciicode 함수 열기
fun main () {
var ascii = mapOf("a" to 97, "z" to 122)
println(asciicode(ascii, "a"))
}
fun asciicode (input:Map<String, Int>,lower:String) : Int? {
return input.get(lower)
}
근데 그냥 ascii코드 관리하는 거 코틀린으로 작성하라고하면 어떻게 될깡?
fun main() {
val asciiMap = createAsciiMap()
println(asciiMap["a"]) // Print ASCII code for 'a' (97)
println(asciiMap["z"]) // Print ASCII code for 'z' (122)
}
fun createAsciiMap(): Map<String, Int> {
val asciiMap = mutableMapOf<String, Int>()
// Add lowercase alphabets and their corresponding ASCII codes to the map
for (char in 'a'..'z') {
asciiMap[char.toString()] = char.toInt()
}
return asciiMap
}
알파벳도 반복이 돼? 몰랐다...그럼해볼 수 있을 거 같은데...?
fun main () {
val multipleOfThree = mutableListOf<Int>()
var l = 1..10
for(x in l) {
if(x % 3 == 0) {
multipleOfThree.add(x)
}
}
println(multipleOfThree)
}
//출력 :[3,6,9]
list는 비어있는 리스트에 반복문을 넣을 수 있으며 .add로 추가해주면 출력할 수 있다는 것을 알겠는데
map같은 경우는 key와 value모두 필요로 하는데 어떻게 해야하는지 모르겠다.
//소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//a부터 z까지 반복하는 문자열을 입력했을 때, 순서대로 97부터 122까지 출력하기
//main함수 열기
//asciicode 함수 열기
//mutableMapOf<Char, Int>()를 갖는 비어있는 asciimap 맵 만들기
//그 맵에 Char에는 for(i in a..z), Int에는 (j in 97..122)를 넣기
//asciimap [key] = value
//main 함수에서 변수 선언 후 asciimap 맵 가져오기
// asciicode("a")를 출력하면 Int반환
fun main () {
var result = asciimap()
println(asciicode(result, "a"))
}
fun asciicode (input: Map<Char, Int>, alphabet: Char) : Int {
var asciimap = mutableMapOf<Char, Int> ()
asciimap[for(i in a..z) {i}] = for(j in 97..122) {j}
return j
}
일단 내 생각은 이런데 ...
//소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//a부터 z까지 반복하는 문자열을 입력했을 때, 순서대로 97부터 122까지 출력하기
//main함수 열기
//asciicode 함수 열기
//mutableMapOf<Char, Int>()를 갖는 비어있는 asciimap 맵 만들기
//그 맵에 Char에는 for(char in a..z), Int에는 (j in 97..122)를 넣기
//main 함수에서 변수 선언 후 asciimap 맵 가져오기
// asciicode("a")를 출력하면 Int반환
fun main () {
var result = asciimap()
println(asciicode(result, "a"))
}
fun asciicode (input: Map<Char, Int>, alphabet: Char) : Int {
var asciimap = mutableMapOf<Char, Int> ()
for(i in a..z) {}
return
}
어려워용 for문안에 어떻게 써야할지 모르겠다 일단 요기까지.....
1시간 넘게 잡고 있을 순 없어!
keys : Map의 key만 담는 컬렉션을 반환하는 함수
values : Map의 value만 담는 컬렉션을 반환하는 함수
fun main(){
val map1 = mutableMapOf<String,Int>("key1" to 1, "key2" to 2, "key3" to 3)
println(map1.keys)
println(map1.values) //value만 출력하는 확장함수
}
keys와 values의 큰 차이점은 key는 서로 같은 키가 존재할 수 없고, value는 같은 값이 존재할 수 있습니다. 즉, keys는 같은 키가 존재하지 않은 컬렉션을 반환해야 하기 때문에 MutableSet() 가 반환이 되고 values는 MutableCollection이 반환이 됩니다.
모르겠으니 챗지피티한테 시켜서 알파벳이랑 숫자매칭하는 맵 써달라고 한다음에 복붙
//소문자 알파벳의 아스키코드를 관리하는 맵 구성 (아스키코드 검색)
//a부터 z까지 반복하는 문자열을 입력했을 때, 순서대로 97부터 122까지 출력하기
//main함수 열기
//asciicode 함수 열기
//alphabet을 입력하면 value값 반환
// asciicode("a")를 출력하면 Int반환
fun main () {
var result = mapOf(
'a' to 97,
'b' to 98,
'c' to 99,
'd' to 100,
'e' to 101,
'f' to 102,
'g' to 103,
'h' to 104,
'i' to 105,
'j' to 106,
'k' to 107,
'l' to 108,
'm' to 109,
'n' to 110,
'o' to 111,
'p' to 112,
'q' to 113,
'r' to 114,
's' to 115,
't' to 116,
'u' to 117,
'v' to 118,
'w' to 119,
'x' to 120,
'y' to 121,
'z' to 122
)
println(asciicode(result, 'a'))
}
fun asciicode (input: Map<Char, Int>, alphabet: Char) : Int? {
return input.get(alphabet)
}