1. 문제 및 예제 담은 귤의 종류가 적다는건 갯수가 많은 종류를 순서대로 나열해 순서대로 박스에 넣어주면 된다. 귤의 종류와 그 갯수를 저장할 자료구조 하나 그리고 그것을 갯수로 정렬할 알고리즘을 생각하면 별로 어렵지 않은 문제이다. C++의 sort()를 사용했으니 시간복잡도는 O(NlogN)이다. https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 2. 풀이과정 처음 내가 이 코드를 작성하고 제출을 했을 때 분명 더 좋은 풀이법이 있을거라 ..
1. 개요 소프트웨어 마에스트로 코딩테스트를 봤다. 사실상 네문제를 풀었지만... 제출을 못해서 세문제... 처참한 결과였다. 정식적으로 알고리즘을 공부하려다 보니 DFS와 BFS를 만나게 되었는데, 이를 공부하면서 그래프라는 자료구조를 또 만나게 되었다. 사실 DFS 알고리즘인지를 모르고 사용한 적이 있었는데, 이를 더 공부해볼 생각이다. 다음은 내가 푼 문제이다. apape1225.tistory.com/61 [백준 알고리즘] 1012번 - 유기농 배추 (DFS 알고리즘) 1. 문제 및 예시 실행결과 이 글의 소제목이 DFS 알고리즘이지만, 나는 DFS알고리즘을 모르는 상태이다...... 그냥 내가 생각한 방식대로 풀었더니 그것이 DFS 알고리즘이었던 것이다. 다른점이 있 apape1225.tistor..
1. 개요 이번 자료구조는 TREE의 종류 중 하나인 LCRS_TREE이다. LCRS는 Left Child Right Sibling의 약자로 왼쪽 포인터는 자식을, 오른쪽 포인터는 형제를 가리키는 TREE이다. 학교에서는 이 LCRS트리를 배운적은 없다. 일반적인 트리에 대한 개념을 배우고 이진 트리(이진 탐색 트리)와 수식트리를 배웠다. 따라서 LCRS트리는 스스로 모든 메소드를 구현해야 했는데 오히려 배운점이 더 많았다. 다음은 LCRS트리의 이론이다. 2. 이론 LCRS트리는 앞에서 설명했듯이 왼쪽은 자식을 오른쪽은 형제를 가리키는 트리이다. 즉 data를 기리키는 필드 하나와 왼쪽, 오른쪽 포인터의 역할을 기리키는 포인터 두개로 구성되어있다. 다음은 LCRS트리이다. 내가 배운 책에서는 LCRS트..
1. 개요 이번에 정리할 내용은 LinkedQueue에 관한 내용이다. Queue는 구현 방법에 따라 CircularQueue와 LinkedQueue 등으로 나눌 수 있는데 이 블로그에서는 LinkedQueue에 대한 설명만 진행할 것이다. 사실 Queue의 기능을 구현하는 방법은 정말 다양하지만 대표적인 두 방법으로 배열과 나머지연산을 활용하는 CircularQueue와 연결리스트로 구현하는 LinkedQueue가 있으니 CircularQueue도 꼭 공부해보기를 바란다. 2.이론 큐는 '나오는 방식이 조금 다른 스택' 이라고 생각하면 편하다. Stack과 같은 경우는 먼저 들어간 데이터가 가장 나중에 나오는 FILO 구조이지만, Queue와 같은 경우 가장 먼저 들어간것이 가장먼저 나오는 FIFO(F..
1. 개요 이번에 정리할 내용은 바로 Circular Doubled Linked List(원형 이중 연결 리스트) 이다. 드디어 객체지향 언어를 사용할 수 있게 되었다 ㅠㅠ 사실 OOP(객체 지향저) 적인 코드를 작성하는 회사에서는 이 OOP를 디자인하는 시간이 몇달이 걸린다고도 한다. 저번 글과 현재 작성하고 있는 글에 차이가 있다면 일주일동안 들은 객체지향 특강에서 배운 지식을 활용했다는 것이다. LinkedList를 C++로 작성하려고 해도 시도하지 못했지만, 이제는 C로 작성된 원형 이중 연결 리스트의 이론과 코드를 참고하여 C++로 구현하였다. 나름 뿌듯함을 느끼는 중이다. 2. 이론 사실 원형이중연결 리스트의 기능은 연결리스트와는 다르지 않다. 다만, 차이가 있다면 마지막을 찾는 연산을 하지 ..
1. 개요 공부를 많이 했다고는 하지 못하지만, 나름 자료구조라는 과목에는 학교에서든(성적은 잘 모르겠지만 ㅠㅠ) 독학에서든 노력을 했다고 생각한다. 그러나 아직도 자료구조가 뭔지 모르겠다고 느껴질 때가 많다. 이번에 구현한 LinkedList는 바로 직전에 자료구조 카테고리로 작성한 글인 Stack과는 코드스타일이 조금 다른느낌일 수 있다고 생각한다. 다른 책을 참고하였기 때문이다...... ㅠㅠ 사실 Stack은 서적을 참고했다기 보다는 거의 나의 힘으로 작성한 것이지만 LinkedList의 경우는 서적을 참고하였다. 자료구조의 책을 한 세권정도 읽었는데(그중 하나는 학교강의) 한 자료구조에 해당하는 주요 연산의 기능을 해낼수만 있다면 코드는 조금씩 다르다는 것을 알게되었다. 결국 중요한 것은 자료구..
1. 개요 항상 무언가를 공부하거나 새로운 지식을 학습할 때, 알아야하는 것은 내가 학습하려는 것이 어디에 사용되고, 본질이 무엇인지에 대해서이다. 그러나 이것이 내가 공부하는 모든 지식에 적용되지는 않는 것 같다. 그 중 하나가 바로 자료구조이다. (적어도 나에게는) 자료구조라는 과목이 얼마나 중요한지는 유튜브에 '개발'이나 '프로그래밍' 이라는 키워드로 3분동안만 검색해봐도 알 수 있는 사실이다. 그렇게 악명 높은 코딩 테스트도 가장 기초가 되는 부분이 바로 자료구조라는 사실은 조금만 찾아봐도 알 수 있다. 그러나 나는 아직도 내가 배우는 이 자료구조들이 실무에서 어떤 모습으로 사용되는지는 알지 못한다. 그저 원리와 구현 방법 그리고 이론으로 설명되는 활용 방법과 응용 문제들을 푸는 수준이다. "이런..
1. 과제안내문 이번 과제는 후위 표기식 형식으로 수식을 입력하여 수식트리를 만들고, 이 트리를 중위로 순회하면서 중위 표기식을 출력하고, 수식을 계산한 결과를 출력한다. 수식트리에서 노드는 연산자 또는 피연산자 노드로 구성되는데, 내부 노드는 연산자 노드이고, 외부 노드는 피연산자 노드가 된다. 피연산자 노드는 노드의 데이터는 피연산자가 되고 자식 노드는 없다. 연산자 노드는 노드의 데이터는 연산자가 되고, 피연산자들은 연산자 노드의 자식 노드로 연결된다. 이진연산자는 두 자식을 가지지만, 단일연산자는 왼쪽 자식은 없고 오른쪽 자식만 가진다. 수식트리를 만드는 방식은 후위 표기식을 계산하는 방식과 비슷하다. 피연산자는 피연산자 노드를 만들어 그 노드를 스택에 Push 한다. 연산자는 연산자 노드를 만들..
- Total
- Today
- Yesterday
- 비트코인
- Python
- 코딩테스트
- 개발자
- Programmers
- java
- 코테
- 프로그래머스
- 백준알고리즘
- 육군
- CJ
- 문자열
- 코딩
- BaekJoon
- 알고리즘
- XML
- Spring Boot
- CJ Olivenetworks
- spring
- C언어
- 구현
- 후기
- c++
- 백준 알고리즘
- 안드로이드 스튜디오
- 기록지
- CJ 올리브네트웍스
- 백준
- 안드로이드 프로그래밍
- 자료구조
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |