목록프로그래밍 기초 (30)
Groo

여러분들은 혹시 Git 커밋에 여러 공동 작업자를 추가할 수 있다는 것을 알고 계셨나요? 보통은 Git 글로벌 설정에 자신의 이메일과 이름을 등록 해놓고 해당 계정에 한해서만 Git을 활용하고 계셨을 것입니다. 하지만 Git에서는 하나의 커밋에 여러 공동 작업자를 추가할 수 있는 기능을 제공하고 있습니다. 잠깐, 그런데 이 기능이 굳이 왜 필요할까요? 지금까지도 문제없이 Git을 잘 사용하고 있었는데 말이죠. 만약 여러분이 프로젝트를 진행하는 과정에서 팀원과 페어 프로그래밍을 한다고 예를 들어보겠습니다. A와 B가 열심히 페어 프로그래밍을 한 후 마침내 드라이버 역할을 맡았던 A가 Git에 커밋을 하려고 합니다. 느낌 오셨나요? 네 맞습니다. 이때 바로 Git에서 제공하는 공동 작업자 기능을 사용하면 A..

안녕하세요, 오늘 글을 끝으로 자료구조와 알고리즘 파트의 기초 개념 설명을 모두 마무리하려고 합니다. 마지막으로 알아볼 자료구조는 해시이며 양이 많지도 않고 크게 어렵지 않기 때문에 힘을 내서 공부해봅시다. 🔐 해시법이란? 해시법은 배열 속에 데이터를 저장할 위치를 간단한 연산으로 구하는 방법으로 검색뿐만 아니라 추가, 삭제도 효율적으로 수행할 수 있습니다. 아래의 그림에서 가장 위에 위치한 배열의 키 값인 배열 속 각각의 요소 값을 배열의 요솟수 13으로 나눈 후 나머지를 표로 정리하면 중간에 위치한 표와 같게 됩니다. 이렇게 표에 정리한 값을 해시 값이라고 하며 이러한 과정을 해시 함수라고 합니다. 그리고 이 해시 값이 기존의 배열 속 키 값들의 새로운 인덱스가 되도록 수정한 것이 아래의 그림 속 가..

안녕하세요, 오늘은 저번 시간에 이어서 새로운 자료구조에 대해서 알아봅시다. 오늘 배워볼 자료구조는 트리이며 이는 내용이 꽤 재미있으므로 지루하지 않을 것입니다. 🏕 트리란? 저번 시간에 배운 리스트는 데이터를 순서대로 나열하는 자료구조였지만 오늘 배워볼 트리는 데이터 사이의 계층 관계를 나타내는 자료구조입니다. 예를 들면 족보와 같이 일정한 규칙에 따라 데이터를 계층적으로 나타내는 것이라고 할 수 있습니다. 그럼 먼저 트리 자료구조에 대해서 알아보기 전 트리와 관련된 용어들을 살펴보도록 하겠습니다. 아래의 트리 구조를 참고하면서 글을 읽어주세요. 노드와 가지 : 트리의 구성 요소이며 각각의 노드는 가지를 통해 다른 노드와 연결되어 있습니다. 루트 : 트리의 가장 윗부분에 위치하는 노드이며 하나의 트리에..

안녕하세요, 오늘은 정말 오랜만에 새로운 자료구조에 대해서 알아보려고 합니다. 그것은 바로 리스트 자료구조이며 프로그래밍에서 정말 중요한 개념 중 하나입니다. 📊 리스트란? 간단히 설명하면 리스트는 데이터를 순서대로 나열한 자료구조입니다. 여러분들이 프로그래밍을 할 때 자주 사용하는 배열을 예로 들 수 있습니다. 같은 자료형을 가진 여러 개의 값을 저장하기 위해 변수를 일일이 생성하지 않고 배열이라는 곳에 데이터를 순서대로 저장할 수 있는 것처럼 말이죠. 또한 Java에서 자주 사용하는 ArrayList 또한 리스트 자료구조의 개념을 바탕으로 만들어졌습니다. int[] arr = new int[7]; ArrayList arrayList = new ArrayList(); 이처럼 리스트는 프로그래밍을 할 때..