Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- Python
- hackerrank
- The Loard of BOF
- BOJ Python
- C언어
- hackctf
- PHP 웹페이지 만들기
- 드림핵
- 풀이
- BOJ
- Javascript
- SWEA
- Sookmyung Information Security Study
- 파이썬
- 숙명여자대학교 정보보안 동아리
- c
- WarGame
- 웹페이지 만들기
- 숙명여자대학교 정보보안동아리
- 백준
- 머신러닝
- XSS Game
- c++
- siss
- CSS
- 생활코딩
- HTML
- lob
- 기계학습
- 자료구조 복습
Archives
- Today
- Total
혜랑's STORY
[HackerRank] Pangrams 본문
# 문제
# 풀이
char* pangrams(char* s) {
int alpha[26]; memset(alpha, 0, sizeof(alpha));
for(int i=0; i<strlen(s); i++){
if(s[i]>='A' && s[i]<='Z'){
alpha[s[i]-'A'] += 1;
}
else if(s[i]>='a' && s[i]<='z')
alpha[s[i]-'a'] += 1;
}
for(int i=0; i<26; i++){
if(alpha[i] == 0){
return "not pangram";
}
}
return "pangram";
}
- pangram은 알파벳의 모든 글자를 사용해 만든 문장을 뜻한다. (이 문제에서는 복수 사용을 허용한 경우이다.)
- 따라서 알파벳 개수 만큼의 배열을 초기화 하고 문장의 길이만큼 for문을 돌며 각 알파벳 자리에 등장한 횟수를 더하였다.
- 두 번째 for문에서는 alpha 배열을 돌며 만약 한 번도 등장하지 않은 알파벳이 있다면 "not pangram"을 반환하였다.
- 두 번째 for문에서 return하지 않았다면 pangram 문장이라는 뜻이므로 "pangram"을 반환하였다.
# 결과
'2021 SISS 21기 활동 > 여름방학 C언어' 카테고리의 다른 글
[HackerRank] Left Rotation (0) | 2021.07.31 |
---|---|
[HackerRank] CamelCase (0) | 2021.07.31 |
[HackerRank] Caesar Cipher (0) | 2021.07.24 |
[HackerRank] Birthday Cake Candles (0) | 2021.07.18 |
[HackerRank] Sherlock and Divisiors (0) | 2021.07.18 |