반응형
https://leetcode.com/problems/unique-morse-code-words/description/
전수조사 문제였습니다.
📕 풀이방법
📔 입력 및 초기화
1. 26개의 alphabat에 해당하는 morse부호의 vector morses를 선언 후 저장해줍니다.2. transformation된 문자를 key, 존재여부를 value로 transformMap을 선언해줍니다.
📔 풀이과정
words에 대해 2차원 for loop를 수행합니다. 하나의 단어도 여러 문자열로 되어있기에 하나의 단어를 가져와 morse부호로 변환 후 map에 저장해줍니다.
📔 정답 출력 | 반환
map의 size가 결국 transformation의 개수가 됩니다. 이를 반환해줍니다.
📕 Code
📔 C++
class Solution {
public:
vector <string> morse = {
".-",
"-...",
"-.-.",
"-..",
".",
"..-.",
"--.",
"....",
"..",
".---",
"-.-",
".-..",
"--",
"-.",
"---",
".--.",
"--.-",
".-.",
"...",
"-",
"..-",
"...-",
".--",
"-..-",
"-.--",
"--.."
};
int uniqueMorseRepresentations(vector<string>& words) {
map<string, int> transformMap;
for(auto word : words) {
string transformedWord;
for(auto w : word) {
transformedWord += morse[w - 'a'];
}
transformMap[transformedWord] = 1;
}
return transformMap.size();
}
};
*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.
'Algorithm > Brute Force' 카테고리의 다른 글
(C++) - LeetCode (easy) 997. Find the Town Judge (0) | 2023.09.20 |
---|---|
(C++) - LeetCode (easy) 812. Largest Triangle Area (0) | 2023.07.18 |
(C++) - LeetCode (easy) 796. Rotate String (0) | 2023.07.13 |
(C++) - LeetCode (easy) 653. Two Sum IV - Input is a BST (0) | 2023.06.06 |
(C++) - LeetCode (easy) 599. Minimum Index Sum of Two Lists (0) | 2023.05.16 |