[C++] 자료구조 – 스택(Stack) 코드 : Array / LinkedList 를 사용하여 구현

Stack을 구현하는건 쉬웟다. 의외엿던건, 코드를 짜기 전에는 LinkedList 를 사용하여 구현하는게 더 복잡할 줄 알았는데 LinkedList 를 사용하는건 정말 간단했고, 오히려 배열을 사용하여 구현하는게 조금 헷갈렸다. 배열로 구현 할 때 헷갈렸던 부분은 생성자에서 배열을 initialize 할 때, 처음엔 Node* nodes…

[C++] 자료구조 – DoublyLinkedList 코드

SinglyLinkedList 에 이어 작성한 DoublyLinkedList 코드.  SinglyLinkedList 와 다른점은, SinglyLinkedList 는 ‘다음’ 노드만 조회 할 수 있지만 DoublyLinkedList 는 ‘다음’ 노드와 ‘이전’ 노드를 조회 할 수 있다. 추가적으로, DoublyLinkedList 가 tail 변수를 가지고 있어서 가장 뒤에 노드를 추가 할 때…

[C++] 자료구조 – SinglyLinkedList 코드

요즘 자료구조를 다시 복습하고있다. 학부때 자료구조를 한번 공부하긴 했었지만, 워낙.. 시험 위주로 코딩했더니 완전히 내것으로 만들지 못한 것 같다. 뇌를 자극하는 알고리즘이란 책을 사서 읽고있는데 설명은 꽤나 괜찮은 것 같으나 개인적으로 코드들이 맘에 안든다. 그 책은 C언어를 사용하는데 C언어 치고…

[C++] ALGOSPOT : XHAENEUNG

문자열을 숫자로 변환 하는것 까진 쉬웠는데 ivef 같은것도 five로 인식하기 위한 방법이 처음엔 잘 떠오르지 않아서   문자열의 charsum (각 문자의 값을 더한 것) 과 문자의 갯수를 비교하였는데 이건 잘못된 approach 였다.   뭐 ivef 이런걸 five로 인식하는것 까진 가능했기에…

[C++] ALGOSPOT : HOTSUMMER

INPUT을 읽어올때, split을 해야겠다고 생각했는데 C++의 string  클래스에는 split 함수가 따로 없어서 직접 만들었다. 나중에 알아보니까 sstream을 사용해서 하는 방법이 있던데 나는 개인적으로 vector 형태로 주는 내 함수가 더 좋으다 보통 C#이나 JAVA 클래스에 내장 되어있던 함수를 직접 짜보고 하니까…

[C++] ALGOSPOT : CONVERT

INPUT에서 값과 단위를 읽고 단위에 따라 변환 Multiplier을 곱하여 단위를 변환한다.   이 문제를 풀면서 새로 배웠던 부분은 iomanip의 setprecision(i) 0을 0.000 이런식으로 숫자에 포맷을 주고 싶을때 사용한다. #include <iostream> #include <string> #include <vector> #include <iomanip> using namespace std; enum…

[C++] ALGOSPOT: MISPELL

문자열 처리 관련 문제. C++ 기본적인 지식만 있으면 쉽게 풀수있는 문제이다.   입력받은 문자열을 공백을 기준으로 자르고 주어진 숫자위치에 있는 문자를 지우면 된다. 문제를 풀고나서 생각되는게 substr 보단 erase 쓰는게 더 좋았을 것 같다.   C++를 아직 배우는 단계라 좀…

[C++] ALGOSPOT : ENCRYPT

LECTURE 알고리즘이랑 굉장히 비슷하다. even과 odd 문자열을 선언하고, string의 각 문자를 순회하는 반복문에서 문자 순서 번호가 짝수면 그 문자를 even에, 홀수면 odd에 추가하게끔 하고 나중엔 even과odd를 합치면 이 문제에서 우리한테서 원하는 “ENCRYPTION” 완료   #include <iostream> #include <string> #include <vector>…

[C++] ALGOSPOT : LECTURE

인풋으로 받은 문자열을 2글자로 잘라서 vector에 넣고 std:sort를 사용하여 vector를 정렬한다.   C++에서 vector랑 sort를 이 문제 풀면서 처음 써보는데 굉장히 편한것 같다.   #include <iostream> #include <string> #include <algorithm> #include <vector> using namespace std; int main(){ int t; cin…