inflearn logo
강의

Course

Instructor

[Introductory] Kotlin Syntax for Android

Alpha Num Count

알파벳 숫자 세기, mutableMap value 값 변경

432

Seongjin Lee

5 asked

0

제 주력 언어는 파이썬인데, 코틀린을 배우는데... 코틀린은 파이썬과 다르게 기능이 별로 없네요.

알파벳 숫자 세는 것을 아래와 같이 하려고 하는데, 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

}

kotlin 코딩-테스트

Answer 1

0

Seongjin Lee

혹시 이 질문 보시는 분들께 도움드리고자 제 글에 댓글 적어요.

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

447

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

326

1