문제 링크
https://programmers.co.kr/learn/courses/30/lessons/42577
C++ 풀이
#include <string>
#include <vector>
using namespace std;
bool solution(vector<string> phone_book) {
bool answer = true;
for (int i = 0; i < phone_book.size(); i++)
{
for (int j = 0; j < i; j++) { //이전 전화번호들과 비교
int cmp_length = (phone_book[i].length() < phone_book[j].length()) ? phone_book[i].length() : phone_book[j].length(); //비교할 문자열 길이
if (phone_book[i].substr(0, cmp_length) == phone_book[j].substr(0, cmp_length)) {
return false;
}
}
}
return answer;
}
해시 카테고리에 있는 문제이긴 하지만 따로 해시맵은 사용하지 않고 풀었다.
반응형
'알고리즘 · 코딩' 카테고리의 다른 글
카카오 인턴 모의고사 (0) | 2020.03.28 |
---|---|
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2020.03.23 |
[프로그래머스] 행렬의 곱셈 (0) | 2020.03.02 |
[프로그래머스] 시저 암호 (0) | 2020.02.25 |
[프로그래머스] JadenCase 문자열 만들기 (0) | 2020.02.16 |