sean.jin
Spark Code Blog
sean.jin
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발공부
      • Kotlin
      • LeetCode
      • Algorithm
      • React
    • 주식차트
    • 책리뷰
    • 유틸리티

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 트리플 위칭데이
  • 주식입문자
  • 책
  • 쿼드러플위칭데이
  • 오
  • 책추천
  • 초보
  • 자기개발
  • 주식투자
  • 책리뷰
  • 부의 추월차선
  • 네마녀의날
  • 주식책리뷰
  • 아빠와 딸의 주식투자 레슨
  • 경제
  • 변동성

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
sean.jin

Spark Code Blog

[Kotlin] map, hashmap 같은지 비교하기 LeetCode: Valid Anagram
개발공부/LeetCode

[Kotlin] map, hashmap 같은지 비교하기 LeetCode: Valid Anagram

2021. 6. 22. 09:33
반응형
문제

 

Given two strings s and t, return true if t is an anagram of s, and false otherwise.

s와 t string의 char들이 순서만 바뀐거라면 true 아니면 false

예시

s = anagram과 t = nagaram을 넣었을때 true인 이유는, 

  s  t
a 3 3
n 1 1
g 1 1
r 1 1
m 1 1

각 char들의 갯수가 똑같으면 위치만 바뀐것이기때문에 true 

이번 문제에서는 s와 t를 각각 hashmap으로 만들어서 두 hashmap이 가지고있는 key값과 value값이 같으면 true를 반환하여 문제를 풀어보겠습니다. 

풀이
class Solution {
    fun isAnagram(s: String, t: String): Boolean {
        //두 string을 위한 빈 hashmap 생성
        val hashMap_S = hashMapOf<Char,Int>() 
    	val hashMap_T = hashMapOf<Char,Int>()


	//각 hashmap에 string에 char들을 넣어줍니다. 
    for (i in 0 until s.length){
        var string = s[i] //i위치에있는 string가져오기
        hashMap_S[string] = hashMap_S.getOrDefault(string,0)+1 
        // hashMap_S[String]은 hashmap[키값]를 넣어줬습니다. value값을 리턴합니다.
        //그리고 = 을 써줬기때문에 그 value는 hashMap_S.getOrDefault(string, 0)+1 값으로 바꿉니다.
        //getOrDefault는 string값이 없다면 key는 string, value는 0으로 넣어주라는 뜻입니다.
        //이미 key값이 있다면 value에 1을 더해주게 됩니다. 
        //map의 특성상 같은 key값은 여러개 있을수없습니다.
    }

	// 위와 같은방식
    for(i in 0 until t.length){
        var string = t[i]
        hashMap_T[string] = hashMap_T.getOrDefault(string,0)+1
    }

	//각 hashmap이 만들어졌으므로 같으면 TRUE를 반환하고 다르면 FALSE
    return hashMap_S.equals(hashMap_T)
    }
}
반응형

'개발공부 > LeetCode' 카테고리의 다른 글

[Kotlin] indexof 사용법 및 활용 LeetCode: Implement strStr() 쉬운풀이  (0) 2021.06.26
[Kotlin]String에 특수문자 제거, 띄어쓰기 제거(스페이스 제거), String 거꾸로 뒤집기, 소문자로변환 LeetCode :Valid PalindromeSolution  (0) 2021.06.24
[Kotlin] String에서 반복되지않은 char찾기 - LeetCode: First Unique Character in a String  (0) 2021.06.20
[Kotlin] LeetCode: PlusOne 쉬운 풀이 해설  (0) 2021.06.14
[Kotlin] LeetCode: Intersection of Two Arrays IISolution 풀이  (0) 2021.06.11
    '개발공부/LeetCode' 카테고리의 다른 글
    • [Kotlin] indexof 사용법 및 활용 LeetCode: Implement strStr() 쉬운풀이
    • [Kotlin]String에 특수문자 제거, 띄어쓰기 제거(스페이스 제거), String 거꾸로 뒤집기, 소문자로변환 LeetCode :Valid PalindromeSolution
    • [Kotlin] String에서 반복되지않은 char찾기 - LeetCode: First Unique Character in a String
    • [Kotlin] LeetCode: PlusOne 쉬운 풀이 해설
    sean.jin
    sean.jin
    앱개발, 알고리즘, JS, Kotlin, 미국 취업준비

    티스토리툴바