"카타 7급 Isograms"의 두 판 사이의 차이

(새 문서: ==C== {{카타|7급|C|2}} <source lang='c'> </source>)
 
잔글 (봇: 자동으로 텍스트 교체 (-source +syntaxhighlight))
 
(다른 사용자 한 명의 중간 판 3개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==C==
==C==
{{카타|7급|C|2}}
{{카타|7급|C|2}}
<source lang='c'>
<syntaxhighlight lang='c'>
</source>
#include <stdbool.h>
bool IsIsogram(char *str) {
  for (int i=0; str[i]; i++) {
    for (int k=i+1; str[k]; k++) {
      if ( tolower(str[i]) == tolower(str[k]) ) return false;
    }
  }
  return true;
}
</syntaxhighlight>
<syntaxhighlight lang='c'>
#include <stdbool.h>
#include <limits.h>
bool IsIsogram(const char *s)
{
  char tab[SCHAR_MAX] = { 0 };
  int c;
  while (c = *s++)
    if (tab[tolower(c)]++) return false;
  return true;
}
</syntaxhighlight>
<syntaxhighlight lang='c'>
#include <stdbool.h>
bool IsIsogram(char *str)
{
  bool table[26] = {0};
  while(*str) {
    char c = tolower(*str)-'a';
    if( table[c] ) return false;
    table[c] = true;
    str++;
  }
  return true;
}
</syntaxhighlight>
 
==같이 보기==
* [[무반복어]]

2020년 11월 2일 (월) 02:41 기준 최신판

1 C[ | ]

#include <stdbool.h>
bool IsIsogram(char *str) {
  for (int i=0; str[i]; i++) {
    for (int k=i+1; str[k]; k++) {
      if ( tolower(str[i]) == tolower(str[k]) ) return false;
    }
  }
  return true;
}
#include <stdbool.h>
#include <limits.h>
bool IsIsogram(const char *s) 
{
  char tab[SCHAR_MAX] = { 0 };
  int c;
  while (c = *s++)
    if (tab[tolower(c)]++) return false;
  return true;
}
#include <stdbool.h>
bool IsIsogram(char *str) 
{
  bool table[26] = {0};
  while(*str) {
    char c = tolower(*str)-'a';
    if( table[c] ) return false;
    table[c] = true;
    str++;
  }
  return true;
}

2 같이 보기[ | ]

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