전체 글(78)
-
Born2beroot
더보기필수 사항이 프로젝트는 특정 규칙을 따라 첫 번째 서버를 설정하는 작업입니다. 서버를 설정하는 것이므로 최소한의 서비스만 설치해야 합니다. 이로 인해 그래픽 인터페이스는 필요하지 않습니다. 즉, X.org나 다른 그래픽 서버를 설치하는 것은 금지됩니다. 이를 어기면 점수는 0점이 됩니다.운영 체제 선택운영 체제로는 최신 안정 버전의 Debian(테스트나 불안정 버전 제외) 또는 최신 안정 버전의 Rocky 중 하나를 선택해야 합니다. 시스템 관리가 처음이라면 Debian을 추천합니다. Rocky 설정은 복잡하기 때문에, KDump는 설정할 필요가 없습니다. 하지만 SELinux는 시스템 시작 시 활성화되어야 하며, 프로젝트의 요구 사항에 맞게 SELinux 설정을 조정해야 합니다. Debian의 경..
2025.04.05 -
GET_NEXT_LINE
static char *jw_free(char *buf, char **backup){ free(buf); if (*backup) { free(*backup); *backup = NULL; } return (NULL);}static char *jw_read(int fd, char *backup){ char *buf; char *tmp; ssize_t bytes_read; buf = (char *)malloc(sizeof(char) * (BUFFER_SIZE + 1)); if (!buf) return (NULL); bytes_read = 1; while (!ft_strchr(backup, '\n') && bytes_read != 0) { bytes_read = read(fd, buf, BUFFER_S..
2025.03.21 -
printf
가변 함수 : 매번 함수에 들어가는 매개변수의 갯수가 변하는 함수를 가변 함수관련 함수 :va_list: 가변 인자 목록. 가변 인자의 메모리 주소를 저장하는 포인터입니다.va_start: 가변 인자를 가져올 수 있도록 포인터를 설정합니다.va_arg: 가변 인자 포인터에서 특정 자료형 크기만큼 값을 가져옵니다.va_end: 가변 인자 처리가 끝났을 때 포인터를 NULL로 초기화합니다.#include "ft_printf.h"#include "libft/libft.h"static int jw_format(const char *format, int i, va_list ap){ unsigned char word; int count; count = 0; if (format[i] == 's') count ..
2025.02.25 -
LIBFT를 설명
ft_atoi : 문자열을 정수로 바꾸는 함수int ft_atoi(const char *str){ long total; long minus; minus = 1; total = 0; while ((9 ft_atoi는 문자 스트링을 숫자로 바꾸는 함수연산과정에서 발생할 오버플로우를 고려해서 long으로 선언을 하였다공백 혹은 \t, \n, \r, \v, \f 같은 것들이 있을 때는 건너뛰어야해서 while문 조건으로 9~13혹은 공백이 있을 때 주소를 증가시키게 만들었다그 다음 -가 있음 minus 변수를 -1로 세트한다그리고 숫자가 나오는 부분인데 만약 str = "123"이면 처음 total은 0이기 때문에 10을 곱해도 0이 되고 그다음 *str - '0'을 하면 1이 나오고 total에 더한다그 ..
2025.02.05 -
1~5강 정리
1강시간 복잡도 : 입력의 크기와 문제를 해결하는데 걸리는 시간의 상관관계제일 큰 차수가 빅오가 된O(N) = 5N+3,2N+5O(N^2) = N^2+5, 5N^2+6정수 자료형 : Char 자료형은 1Byte = 8bit short(2Byte ) = 2^15-1= 32767int(4Byte) = 2^32 -1 =2.1 * 10^9 만약 범위를 넘어서게 된다면 오버플로우가 발생해서 1Byte 구조에서 127에 1을 더하면 -128이 되게 된다 float (4Byte)double(8Byte) 3.75 = 2 + 1 + 0.5 + 0.25 = 2^1 + 2^0+ 2^-1+2^-2 = 11.11실수의 저장/연산 과정에서 반드시 오차가 발생할 수 밖에 없다 값 복사와 참조의 차이를 이해해야한다예제 코드로 하..
2024.11.20 -
곱셈
#include int A,B,C;long long int f(long long int y){ if(y==1) return A%C; long long int k = f(y/2)%C; if(y%2==0) return k*k%C; else return k*k%C*A%C;}int main(){ scanf("%d %d %d",&A,&B,&C); printf("%lld\n",f(B)); return 0;}
2024.11.20