Easy문제들, 푸는 대로 상단에 업데이트
주어진 IP주소의 .
을 [.]
으로 변경해서 리턴하라.
Input: address = "255.100.50.0"
Output: "255[.]100[.]50[.]0"
이문제는 다른 언어 개발자가 보면 어이없는 문제겠지만, C언어로 푼다고 하면 그정도로 어이없게 쉬운 문제는 아님.
char * defangIPaddr(char * address){
int a_size = strlen(address);
int ret_size = a_size + 7;
char *ret = (char *)malloc(ret_size * sizeof(char));
int retcnt = 0;
for (int i = 0; i < a_size; i++) {
if (address[i] == '.') {
ret[retcnt++] = '[';
ret[retcnt++] = '.';
ret[retcnt++] = ']';
continue;
}
ret[retcnt++] = address[i];
}
ret[retcnt] = '\0';
return ret;
}
이 프로그래밍 언어는 한개의 변수에대한 4개의 연산자만 지원하는 언어다. 프로그램이 주어질때 결과값을 계산하라.
++X and X++ increments the value of the variable X by 1.
--X and X-- decrements the value of the variable X by 1.
Input: operations = ["X++","++X","--X","X--"]
Output: 0
간단한 프로그래밍 언어라는게 재미있긴한데, 좋은 문제같지는 않음.
int finalValueAfterOperations(char ** operations, int operationsSize){
int ret = 0;
for (int i = 0; i < operationsSize; i++) {
if (strcmp(operations[i], "--X") == 0)
ret--;
else if (strcmp(operations[i], "X--") == 0)
ret--;
else if (strcmp(operations[i], "++X") == 0)
ret++;
else if (strcmp(operations[i], "X++") == 0)
ret++;
}
return ret;
}