본문 바로가기

릿코드

205. Isomorphic Strings

출처 : https://leetcode.com/problems/isomorphic-strings/

이 문제는 딱히 고민할게 없는 전형적인 해시테이블을 이용한 문제이지만, 그래도 생각해볼 것을 몇 가지 적어보았다.

Runtime : 22 ms

일단 나는 map과 set을 이용해서 문제를 풀었다. 
왼쪽부터 스캔하면서,
첫번째 if statement : "maplist" 에서 key(알파벳)을 발견할 수 있었는가? 같은 value를 가지고 있는가? 아니라면 False
두번째 if statement : "maplist" 에 key 값이 없다면, 동일한 value 를 가진 key가 존재하는가?
* visited.insert('key').second 는 중복되는 값이 없었다면 True를, 아니라면 False를 반환한다.

최적화 Round 1 : find 두번하지 않기

runtime : 18 ms

최적화 Round 2 : Unordered_Set 사용하기 && Map 대신 Array 이용하기. Find 함수 사용을 피하기

 

'릿코드' 카테고리의 다른 글

21. Merge Two Sorted Lists  (0) 2022.09.17
392. Is Subsequence  (0) 2022.09.17
1480. Running Sum of 1d Array  (0) 2022.09.17
724. Find Pivot Index  (0) 2022.09.16
LeetCode 75 Challenge  (0) 2022.09.16