728x90
- 문자열을 특정 문자(공백 등)으로 자르고 순서대로 접근하는 방법
ptr = strtok(str, " ");
while(ptr!=NULL){
ptr = strtok(NULL, " ");
}
- 모스 부호(1) 문제 풀이
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h>
// 파라미터로 주어지는 문자열은 const로 주어집니다. 변경하려면 문자열을 복사해서 사용하세요.
char* solution(const char* letter) {
// return 값은 malloc 등 동적 할당을 사용해주세요. 할당 길이는 상황에 맞게 변경해주세요.
char* answer = (char*)malloc(sizeof(char)*1000);
char* mos[] = {".-","-...","-.-.","-..",".","..-.","--.","....","..",".---","-.-",".-..","--","-.","---",".--.","--.-",".-.","...","-","..-","...-",".--","-..-","-.--","--.."};
int index = 0;
char* ptr = strtok(letter, " ");
while(ptr!=NULL){
for(int i=0;i<27;i++){
if(strcmp(ptr, mos[i])==0){
answer[index++] = (char)(i+'a');
break;
}
}
ptr = strtok(NULL, " ");
}
answer[index] = '\0';
return answer;
}
'알고리즘 > 코딩 테스트 문제' 카테고리의 다른 글
[프로그래머스] 문자열 계산하기(C) (0) | 2023.09.21 |
---|---|
[프로그래머스] 영어가 싫어요(C) (0) | 2023.09.21 |
[프로그래머스] 잘라서 배열로 저장하기(C) (0) | 2023.09.21 |
[프로그래머스] 이진수 더하기(C) (0) | 2023.09.21 |
[프로그래머스] 특정 문자 제거하기(C) (0) | 2023.09.21 |