전체 글 (59) 썸네일형 리스트형 [Linked List] 학생 정보 Linked List 구현 LINKED LIST란? Linked List를 구현하기 전 간단히 Linked List가 무엇인지에 대해서 짚고 넘어가겠습니다. Linked List는 메모리에 흩어진 각각의 node들이 연결되어 구성되는 List를 말합니다. 메모리 내에서부터 연결된 기본적인 List와는 다르게 흩어져있는 정보들을 특정한 방법으로 연결 지어 리스트화해 주어야 비로소 Linked List가 완성됩니다. 일반적인 List로 "hey" 저장: char word[4] = "hey"; (Memory Address) 1000 1001 1002 1003 (Data) 'h' 'e' 'y' '\0' Linked List로 "hey" 저장 Linked List는 List와 비교했을 때 아래와 같이 각각 장단이 있습니다. 따라서 상황에 .. [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서울을 하고 싶다는 생각이 들었던 가장 큰 동력이었던 것 같다. 하지만 개발 공부를 하면 .. [백준 1920번/C언어] 수 찾기, 이진탐색으로 풀이 백준 1920번 문제를 이진탐색(Binary Search)으로 풀어보았습니다. 백준 1920번: https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 내용은 아래와 같습니다. 해당 문제를 풀이하면서, 이진탐색트리와 hash table도 사용해 보았으나, 모두 시간 초과로 실패하여 결국 Merge Sort(합병정렬)로 입력받은 배열을 정렬한 후에 Binary Search(이진탐색)를 통해 수를 찾는.. [백준 1912번/C언어] 연속합, 동적계획법으로 풀기 백준 1912번 문제를 Dynamic Programming(DP, 동적계획법)으로 풀어보았습니다. 백준 1912번: https://www.acmicpc.net/problem/1912 1912번: 연속합 첫째 줄에 정수 n(1 ≤ n ≤ 100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 문제 내용은 아래와 같습니다. 목표했던 문제가 있어 동적계획법 공부를 시작하였는데, 목표했던 문제는 이미 해결했으나, 한 번 공부를 시작한 만큼 다른 문제들도 풀어보고 싶어서 이 문제를 골랐습니다. 동적계획법을 공부하고 싶으신 분들은 제 블로그에 관련된 문제를 푼 게시글이 있으니 참고해 주시기.. [백준 2565번/C언어] 전깃줄, 동적계획법으로 풀이 백준 2565번 문제를 Dynamic Programming(DP, 동적계획법)으로 풀어보았습니다. 백준 2565번: https://www.acmicpc.net/problem/2565 2565번: 전깃줄 첫째 줄에는 두 전봇대 사이의 전깃줄의 개수가 주어진다. 전깃줄의 개수는 100 이하의 자연수이다. 둘째 줄부터 한 줄에 하나씩 전깃줄이 A전봇대와 연결되는 위치의 번호와 B전봇대와 연결되는 www.acmicpc.net 문제 내용은 아래와 같습니다. 목표했던 문제가 있어 동적계획법 공부를 시작하였는데, 목표했던 문제는 이미 해결했으나, 한 번 공부를 시작한 만큼 다른 문제들도 풀어보고 싶어서 이 문제를 골랐습니다. 동적계획법을 공부하고 싶으신 분들은 제 블로그에 관련된 문제를 푼 게시글이 있으니 참고해 주.. [백준 11054번/C 언어] 가장 긴 바이토닉 부분 수열, 동적계획법으로 풀이 백준 11054번 문제를 Dynamic Programming (DP, 동적 계획법)으로 풀어보았습니다. 백준 11054번: https://www.acmicpc.net/problem/11054 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 문제 내용은 아래와 같습니다. 목표했던 문제가 있어 동적계획법 공부를 시작하였는데, 목표했던 문제는 이미 해결했으나, 한 번 공부를 시작한 만큼 다른 문제들도 풀어보고 싶어서 이 문제를 골랐습니다. 동적계획법을 공부하고 싶으신 분들은 제 블로그에 관련된 문제를 푼 게시글이 있으니 참고해 주시기 .. 이전 1 ··· 3 4 5 6 7 8 다음