"C언어 문자열에 중복 문자 있는지 확인"의 두 판 사이의 차이

(→‎예시: 554)
 
(사용자 3명의 중간 판 12개는 보이지 않습니다)
3번째 줄: 3번째 줄:
;문자열에서 중복 문자가 있는지 확인
;문자열에서 중복 문자가 있는지 확인


==예시==
==예시 1==
<source lang='C'>
<syntaxhighlight lang='C' run>
#include <stdio.h>
#include <stdio.h>
#include <string.h>
#include <string.h>


int allUnique(char *str)
int allUnique(char *str) {
{<ref></ref>
     int i, j;
     int i, j;
     char *p = str;
     char *p = str;
     int l = strlen(str);
     int l = strlen(str);


     for (i = 0; i < l - 1; i++) {
     for(i = 0; i < l - 1; i++) {
         for (j = i + 1; j < l; j++) {
         for(j = i + 1; j < l; j++) {
             if (p[i] == p[j])
             if(p[i] == p[j]) return 0;  
                return 0;  
         }
         }
     }
     }
     return 1;  
     return 1;  
}
}
{{기본정렬:{{기본정렬:{{기본정렬:{{〈〈〈〈<references/><references/><references/>[[분류:€……ײ{{IPA|}}]]〉〉〉〉}}}}}}}}
 
int main()
int main() {
{
     printf("%d\n", allUnique("abcd")); // 1
     printf("%d\n", allUnique("abcd")); // 1
     printf("%d\n", allUnique("abcc")); // 0
     printf("%d\n", allUnique("abcc")); // 0
}
</syntaxhighlight>
==예시 2==
<syntaxhighlight lang='c' run>
#include <stdio.h>
#include <stdbool.h>
#include <string.h>
bool allUnique(const char *str) {
    if (str == NULL) {
        return false;
    }
    bool isCharPresent[256] = {0};
    int length = strlen(str);
    for (int i = 0; i < length; i++) {
        unsigned char ch = str[i];
        if (isCharPresent[ch]) {
            return false;
        }
        isCharPresent[ch] = true;
    }
    return true;
}


     return 0;
int main() {
     printf("%d\n", allUnique("abcd")); // 1
    printf("%d\n", allUnique("abcc")); // 0
}
}
</source>
</syntaxhighlight>


==같이 보기==
==같이 보기==

2024년 2월 4일 (일) 01:54 기준 최신판

1 개요[ | ]

Check the duplicate in string
문자열에서 중복 문자가 있는지 확인

2 예시 1[ | ]

#include <stdio.h>
#include <string.h>

int allUnique(char *str) {
    int i, j;
    char *p = str;
    int l = strlen(str);

    for(i = 0; i < l - 1; i++) {
        for(j = i + 1; j < l; j++) {
            if(p[i] == p[j]) return 0; 
        }
    }
    return 1; 
}

int main() {
    printf("%d\n", allUnique("abcd")); // 1
    printf("%d\n", allUnique("abcc")); // 0
}

3 예시 2[ | ]

#include <stdio.h>
#include <stdbool.h>
#include <string.h>

bool allUnique(const char *str) {
    if (str == NULL) {
        return false;
    }
    bool isCharPresent[256] = {0};
    int length = strlen(str);
    for (int i = 0; i < length; i++) {
        unsigned char ch = str[i];
        if (isCharPresent[ch]) {
            return false;
        }
        isCharPresent[ch] = true;
    }
    return true;
}

int main() {
    printf("%d\n", allUnique("abcd")); // 1
    printf("%d\n", allUnique("abcc")); // 0
}

4 같이 보기[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}