A ship in harbor is safe, but that is not what ships are built for.

C++ 3

[백준(BOJ)] 10828번 C++ 풀이

stack을 구현하라는 문제인데 C++은 STL에서 stack이 구현되어있다. 그래서 그냥 구현되어있는 stack을 이용하겠다. 그전에 내용을 간단히 정리하자. 스택(stack)은 LIFO(Last In First Out)의 자료구조이다. 제일 마지막에 넣은 데이터가 처음으로 나오는 알고리즘으로 기본적으로 push와 pop 으로 동작한다. 이때 push는 stack의 최상단에 자료를 넣고, pop은 stack의 최상단 자료를 추출한다. stack STL을 사용하기 위해 #include 헤더파일을 포함해야 한다. 이후 " stack 스택명; " 으로 stack을 선언한다. 1. 데이터 추가 : 스택명.push(넣을 데이터) 형태로 데이터를 추가한다. stack.push(data); 2. 데이터 삭제 : 스..

[백준(BOJ)] 2750번 C++ 풀이

자료구조를 놓은 지 너무 오래되어서 가장 기본인 정렬 문제도 정리할 겸 이 문제를 풀었다. 문제에 대한 설명에서 시간 복잡도가 O(n²)인 정렬 알고리즘으로 풀 수 있고, 그 예로 삽입 정렬, 거품 정렬 등이 있다고 한다. 그래서 그냥 삽입 정렬로 풀어보기로 했다.(거품 정렬은 다음 포스팅에서 해보도록 하겠다) 그럼 우선 삽입 정렬에 대해 정리해보자. 삽입 정렬(insertion sort) 삽입 정렬이란 자료 배열의 모든 요소를 앞에서부터 차례대로 이미 정렬된 배열 부분과 비교하여 자신의 위치를 찾아 삽입해 정렬을 완성하는 알고리즘이다. 구체적인 과정을 살펴보겠다. 삽입 정렬은 2번째 자료부터 시작하여 그 요소의 앞(왼쪽)의 자료들과 비교하여 삽입할 위치를 지정한 후 자료를 뒤로 옮기고 지정한 자리에 자..

[백준(BOJ)] 10872번&10870번 C++ 풀이

최근 준비했던 일이 마무리되어 한달 정도의 시간적 여유를 가질 수 있게 되었다. 무엇을 할까 고민하다 최근 코딩 공부에 소홀했던터라 당분간은 빡세게(?) 전공 공부를 해볼까한다. 백준 알고리즘을 매일 풀어보려 하는데 특별한 목적이 있는게 아닌터라 그냥 내 마음가는대로 아무거나 선택해서 풀어볼 생각이다. 더불어 프로그래밍언어 중에서도 C++에 가장 소홀했기 때문에 백준 문제 풀이 겸 C++ 문법 정리 겸...(정말 거짓없이 C++ 문법 하나도 생각 안난다......;;;) 그래서 글이 개인적인 복습노트(?)가 될 터라 내용이 엉망진창이겠지만 누군가에게는 도움이 될 수도 있으니 글을 이어나가려 한다. [C++ 문법] C++의 표준 입력과 출력 : cin, cout //std 네임스페이스의 객체, 클래스 내 ..