알파벳 숫자 세기, mutableMap value 값 변경
432
5 asked
제 주력 언어는 파이썬인데, 코틀린을 배우는데... 코틀린은 파이썬과 다르게 기능이 별로 없네요.
알파벳 숫자 세는 것을 아래와 같이 하려고 하는데, value+=1이 안 됩니다. 어떻게 해야 하나요?
fun solution( str : String ): Map<String, Int>{
var result = mutableMapOf<String,Int>()
for (i in 0..str.length-1){
var currLetter = str[i].toString()
//이 부분에서, 문자열을 인덱싱했으니 당연히 타입은 그대로일 줄 알았는데 Char()라고 합니다. ㄷㄷㄷㄷ 이건 왜 인가요?
if (currLetter in result.keys){
result[currLetter] = 2 /// 제가 하고 싶은 것: result[currLetter] += 1
//전체적인 틀의 문제인가 싶어서, 강제로 2를 할당시켜봤더니 이 부분은 정상적으로 작동합니다. 그런데 1을 더하는 것이 안 되네요, 자바와 파이썬 모두 가능한 것으로 알고 있는데 왜 안 될까요? 인터넷 검색을 해봐도, 딱히 +=1이 되는 것 같지는 않네요. 자바처럼 Counter()를 써야 하나요?
//혹시 몰라 아래와 같이 해보니까, 이것 또한 안 됩니다.
//둘 모두 아래와 동일한 에러가 나옵니다.
/*
Operator call corresponds to a dot-qualified call 'result[currLetter].plus(1)' which is not allowed on a nullable receiver 'result[currLetter]'.
*/
//어떻게 해야 하나요???
temp = result[currLetter]
result[currLetter] = temp +1
}
else{
result[currLetter] =1
}
}
return result
}
Answer 1
0
혹시 이 질문 보시는 분들께 도움드리고자 제 글에 댓글 적어요.
result[currLetter] = result.getOrDefault(currLetter,0) +1
이렇게 하니까 되네요, 파이썬보다 비효율적입니다 ㅠㅠㅠㅠㅠ 앞으로 열심히 공부해볼게요
코트린 심화 학습
0
42
2
마지막에서 Int = 20의 의미
0
49
1
키보드관련 문제
0
142
1
인터페이스에 대한 질문입니다
0
252
1
질문
1
198
1
9:20초 쯤 나오는 init은 클래스안에서 공통으로 쓰이는 건가요?
0
291
1
int, string?
0
271
2
when 버전으로도 알려주세요!
0
222
1
for 문 밖에서의 list 타입의 차이점
0
259
2
Object
0
281
1
작은 값 찾기, 이렇게는 왜 안 되나요?
0
430
1
kotlin enum class
0
376
1
fun query(request: String) ="결과 query $request"질문입니다.
0
294
1
고차함수 7:43분 관련 질문입니다.
1
234
1
코틀린은 map int 밸류값에 ++ 안 되나요?
0
448
2
Unit
0
334
1
Bike() 클래스 와 Bike 클래스의 차이
0
293
1
새로운 변수를 만드는 것이 좋나요?
0
243
1
it 이 정확히 무엇인가요?
0
367
1
ArrayList와 mutableListOf의 차이점
0
1088
1
데이터 타입 Int, Long 에 대한 커버 가능 범위 참고 링크
0
310
1
ArrayList랑 mutableListOf가 차이점이 있나요?
0
376
1
수업자료는 어디서 볼 수있나요~
0
612
1
val mutableListOf
2
327
1

