1. 문제 https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 2. 풀이 과정 입력받은 문자열을 한 글자씩 탐색한다. (, [ 이면 스택에 무조건 push ), ] 일때 스택의 top과 괄호쌍을 이루는 경우에만 pop을 수행한다. 괄호쌍을 이루지 않는 경우엔 flag를 false로 하고 break; 한다. 1. 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있다고 ..
1. 문제 https://www.acmicpc.net/problem/1427 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net 2. 풀이과정 입력받는 1,000,000,000보다 작거나 같은 N을 문자열로 입력받고 string을 내림차순 정렬 하여 풀었다. 에 있는 quick sort 함수를 사용하였다. sort 함수의 3번째 인자에 비교 함수을 명시해 주는데 아무것도 명시하지 않으면 오름차순 정렬을 수행한다. sort함수로 string 타입의 문자열을 정렬할때는 시작과 끝을 나타내는 반복자(iterator)를 사용해야 합니다. 내림차순으로 비교하는 함수 : greater() 오름차순으로 비교하는..
이 글은 C++에서 키보드로 입력받는 방법들을 정리한다. c언어 라이브러리 입력은 제외했다. 1. cin 함수 주요 특징 - 헤더파일에 정의되어 있는 함수이다. - 표준 입력 스트림에서 공백, 줄바꿈 문자인 (white-space character) 이전까지의 값만 받는다. - 공백, 줄바꿈 이전의 문자까지만 입력받기 때문에 표준 입력 스트림에 white-space character가 그대로 남아 있다. - 따라서 공백이나 줄 바꿈이 포함된 입력을 받을 때 사용할 수 없다. 💡 white-space character란? ' ', '\n', '\t' 등등 #include using namespace std; int main() { int input; //"Kim Jun seo" 입력 cin >> input..
1. 문제 https://www.acmicpc.net/problem/2563 2563번: 색종이 첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변 www.acmicpc.net 2. 풀이 과정 처음에는 겹치는 부분을 제외하는 식으로 넓이를 구해야 하나 생각했는데 너무 복잡한 것 같았다. 좋은 로직을 고민을 해보다가 배열의 한칸을 넓이 1로 하는 사각형으로 생각하는 식으로 2차원 배열을 떠올렸다. 먼저 배경인 흰 도화지가 100x100이므로 도화지가 전부 채워진다면 색종이들의 넓이 합은 10000이 될 것이다. 100 x 100인 정사각형으로 구성되어 있는 도화지라고 생각..
교환(Swap)의 원리 파악하기 양손에 있는 과일 2개를 교환하려면 어떻게 해야 할까? 상식적으로 양손에 과일을 쥔 채로는 과일을 교환할 수 없다. 바닥에 하나의 과일을 내려놓고 바꿔 잡으면 된다. 많은 정렬 알고리즘에서 쓰이는 swap의 원리이다. swap 알고리즘을 코드로 어떻게 표현해야 할까? 1. 임시변수 사용 #include using namespace std; int main() { int a = 5; int b = 2; cout
텍스트를 강조할때 사용하는 태그에 대해 정리하겠다. 1. strong 태그 텍스트 강조시 사용한다. 텍스트를 굵게하는 것 뿐 아니라 웹브라우저에 중요한 부분임을 알려준다. 중첩 사용이 가능하다! 형식 💡 강조하고 싶은 텍스트 시설사용자는 아래 안내 되어있는 수칙을 반드시 지켜야합니다 시설사용자는 아래 안내 되어있는 수칙을 반드시 지켜야합니다 2. em태그 em(emphasis)태그 역시 텍스트의 의미를 강조하고 싶을때 사용한다. 기울임 효과를 준다. 마찬가지로 중첩이 가능하다. 중첩될수록 더욱 강조된다. 형식 💡 강조하고 싶은 텍스트 시설사용자는 아래 안내 되어있는 수칙을 반드시 지켜야합니다 과거 텍스트 강조시 b와 i 태그를 주로 사용했다고 한다. 표시되는 스타일은 거의 동일하지만 HTML이 발전하면서..