다른 부분은 다 어떻게해야할지 머리속에 잡혀지는데
길이는 2보다크고 14보다 작은 홀수로 어떻게 할지...감이 안 잡히네....
char *password;
for (i=1;i<=6;i++){
password=malloc((2*i+1)*sizeof(char));
}
이런식으로해줘야하나?
다른 부분은 다 어떻게해야할지 머리속에 잡혀지는데
길이는 2보다크고 14보다 작은 홀수로 어떻게 할지...감이 안 잡히네....
char *password;
for (i=1;i<=6;i++){
password=malloc((2*i+1)*sizeof(char));
}
이런식으로해줘야하나?
이문제는 reverse 구현과 문자열 비교만 하면 되는거 아님? 아 전체 비교하려고 그러는구나? 나같으면 편하게 std::set 에 집어 넣을때 뒤집은 문자열이랑 unique 비교랑 그냥 넣는 걸로 해버리겠당.
set 안쓸거면 100 * 14 짜리 배열 만들어서 단어 하나 들어올때 마다 binary_search + insertion_sort 하던가.
일단 순차적으로 배열에 다 넣어놓고 정렬후, 한라인씩 꺼내서 reverse 한 뒤, 그 녀석의 다음 요소안에서 이진탐색하면 되겠네.
새 요소를 넣기 전에 전체 목록에 대해 이진탐색하는게 좀 더 싸긴 하겠당.
모든 단어의 길이가 홀수라는건, 문자열의 길이를 검사할때, 짝수 위치에서만 null 체크를 하면 된다는것 말곤 별로 특이한게 없는것 같음.
3~13 의 길이를 가지니까. 4번째 문자 부터 2개 단위로 null character 인지 검사하면 되겠네