본문 바로가기

Hive Helsinki [42 Helsinki]

(16)
[Hive Helsinki / Piscine] C05 Exercise 00: ft_iterative_factorial Create an iterated function that returns a number. This number is the result of a factorial operation based on the number given as a parameter. Allowed Function: None C05에서는 iterative와 recursive에 대한 문제가 주를 이룬다. 특히 recursive의 개념을 익히기 위한 프로젝트라는 생각이 든다. 이 문제는 iterative를 적용한 문제인데, factorial을 iterative로 구현하는 것이다. iterative는 반복문을 이용하여 반복하는 방식이고, recursive는 함수 자체를 해당..
[Hive Helsinki / Piscine] Rush00 Rush00은 주어진 패턴 모양대로, 인자로 받은 크기의 직사각형을 출력하는 문제이다. 결론부터 말하자면 나는 42%로 fail했다. 원인은 음수나 0이 크기로 주어졌을 때, 아무것도 출려해서는 안되지만 new line을 출력하는 오류를 범했기 때문이다. 코드는 수정된 코드로 기재할 것이나. 러시를 통과한 코드는 아니니 참고 시에 유의 바란다. 우선 해당 rush 과제는 총 3개의 파일을 요구하는데, main 함수를 포함하는 main.c 파일, ft_putchar 함수를 포함하는 ft_putchar.c 파일 그리고 우리가 주요하게 작성해야 하는 파일인 rush0X.c 파일이다. rush0X.c 파일에 작성된 코드에 앞서 이미 문제에 주어진 main.c와 (평균적인 속도라면) 이미 앞선 C프로젝트에서 만들..
[Hive Helsinki / Piscine] C04 Exercise 00: ft_strlen Create a function that counts and returns the number of characters in a string. Allowed Function: None C04에서도 C02, C03와 비슷한, string을 기반으로 한 문제들을 대체로 볼 수 있다. 이 문제는 reproduce를 요구하지는 않았지만, 헤더 내 존재하는 strlen() 함수와 비슷한 역할을 하는 함수를 만들기를 요구한다. strlen은 문제에서 설명하소 있는 대로 인자로 주어진 문자열의 길이를 구하는 것이다. 즉 null character 전까지의 길이를 리턴하는 함수를 만들면 된다. 따라서 길이를 파악하기 위한 len 변수를 하나 만들어 초기값을 0으로 주고 하나씩 ..
[Hive Helsinki / Piscine] C03 Exercise 00: ft_strcmp Reproduce the behavior of the function strcmp (man strcmp). Allowed Function: None C03의 경우 C02에서와 비슷하게 string에 관한 내용이 이어진다. 첫 번째 문제부터 C02와 유사하게 string에 관한 함수를 구현하는 문제가 나왔다. strcmp라는 함수는 string compare을 수행하는 함수이다. 자세한 내용은 함수의 매뉴얼을 통해 확인할 수 있는데, 다음과 같다. 위 매뉴얼과 같이 string 두 개를 인자로 받아, 두 개를 비교하고 같으면 0을 다르면 음수나 양수를 리턴한다. 음수/양수를 판단하는 기준은 string이 다른 그 지점에서 어떤 문자의 아스키코드가 더 작냐로 판단하게..
[Hive Helsinki / Piscine] C02 Exercise 00: ft_strcpy Reproduce the behavior of the function strcpy (man strcpy). Allowed Function: None C02에는 전반적으로 string 관련해서 이미 있는 c언어 함수를 다시 만드는 문제가 많이 나왔다. 이 문제는 dest으로 받은 string 공간에 src 문자열을 복사해 넣는 string copy 함수를 만드는 것이다. 문제에 명시되어 있는 대로, 터미널에 man strcpy라고 입력하면 strcpy 함수의 manual을 확인할 수 있다. 프로토타입은 문제에 명시되어 있으므로, 해당 매뉴얼에서 내가 중요하게 봤던 부분은 Description과 사진에는 나와있지 않지만 return value 부분이다. Descrip..
[Hive Helsinki / Piscine] C01 Exercise 00: ft_ft Create a function that takes a pointer to int as a parameter, and sets the value "42" to that int. Allowed Function: None 해당 문제는 포인터의 아주 기본적인 이해를 묻는 문제이다. 코드도, 해답도 너무 간단해서 오히려 이게 정말 맞는 거냐는 질문을 3일 동안 다양한 사람들에게 받았던 것 같다. 포인터는 변수 선언 후에 * 표시 없이 사용하면 주소값을 reassign 하는 것이고, * 표시와 함께 사용하면, 해당 메모리 주소에 저장된 value 값을 바꾸겠다는 뜻이다. 따라서 아래와 같이 간단한 코드로 nbr 포인터에 저장된 value 값을 42로 변경할 수 있다. voidft..
[Hive Helsinki / Piscine] C00 Exercise 00: ft_putchar Write a function that displays the character passed as a parameter Allowed Function: write 해당 문제는 기존에 헤더에 존재하는 putchar 함수와 동일한 기능을 하는 함수를 작성하는 것이 목표이다. 사실상 인자로 받은 character type의 변수를 write 함수를 이용하여 출력해주기만 하면 되는 간단한 문제이다. 하지만 여기서 중요하게 알아야 할 것이 바로 write 함수를 어떻게 사용하느냐 이다. 나는 이전에 c언어로 코딩하면서 주로 printf함수를 사용해 왔기 때문에 write 함수에는 익숙하지 않았다. 그래서 write 함수에 대해서 먼저 공부하였다. (write 함수는 wi..
[Hive Helsinki] 한 달 간의 Piscine 후기 2024년 1월 8일부터 2월 2일까지 진행된 Hive Helsinki 겨울 1차 피신을 마쳤다. 우선 다들 왜 핀란드까지 가서 피신을 하냐고 물어보는데, 사실은 원래 교환학생 기간이 끝난 후 한국에 귀국해서 42서울을 할 생각이었다. 전공자의 관점에서 더 높은 수준의 지식을 얻기에는 42의 시스템 자체가 beginner에 초점이 맞춰져 있고, C언어 자체가 사실 현업에서 크게 사용되는 언어라고 하기는 힘들다는 한계를 잘 알고 있었지만, 아무래도 학업이 길어지면서 생기는 경제적 부담을 해결하면서 개발 공부를 할 수 있고, 늦은 복수전공 시작으로 개발 쪽으로 인간관계가 없다는 문제도 한 번에 해결 가능하다는 점이 42서울을 하고 싶다는 생각이 들었던 가장 큰 동력이었던 것 같다. 하지만 개발 공부를 하면 ..

728x90