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