728x90
안녕하세요.
연습#19에 이어서 바로 푼 문제가 12월 12일에 풀었던 문제였습니다.
소름돋는 점은 불과 일주일 전에 푼 건데 기억을 못한 것입니다ㅠㅠ
뭔가 지금 알고리즘 연습하는 과정이 적절하지 않은 것 같습니다.
알고리즘 연습 기록을 하면서 배운 것을 작성하고 있으니, 문제를 풀기 전에 한 번씩 그간 배운 것을 복습하는 과정을 넣어볼까 합니다.
일단 오늘 푼 문제는 다음과 같습니다.
387. First Unique Character in a String
이런 문제 보면 보통 배열로만 끝내시던데 저는 딱히 생각나는 방식이 없어서 Map을 통해서 쉽게 풀었습니다.
하지만 runtime과 memory사용량이 뒤에서 1~2등을 다투어서 적절한 방식은 아닌 것 같다는 생각을 했고, 배열로만 끝내는 방법을 꼭 익혀야 겠다는 생각을 했습니다.
다른 분들의 풀이는 다음과 같습니다.
1. 알파벳(26자) 배열을 만듭니다.
2. 문자열의 문자마다 알파벳 배열에 ++를 수행합니다.
3. 그리고 다시 문자열을 문자마다 루프를 돌면서 배열 안의 값이 1인 것을 찾아냅니다.
문자열을 순회하면서 문자단위의 계산이 필요할 때 알파벳 배열을 사용하는 것을 잊지 말아야 하겠습니다.
728x90