본문 바로가기

전체 글

(47)
[C++]algospot PICNIC 링크 : https://www.algospot.com/judge/problem/read/PICNIC algospot.com :: PICNIC 소풍 문제 정보 문제 안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 www.algospot.com 문제 안드로메다 유치원 익스프레스반에서는 다음 주에 율동공원으로 소풍을 갑니다. 원석 선생님은 소풍 때 학생들을 두 명씩 짝을 지어 행동하게 하려고 합니다. 그런데 서로 친구가 아닌 학생들끼리 짝을 지어 주면 서로 싸우거나 같이 돌아다니지 않기 때문에, 항상 서로 친구인 학생들끼리만 짝을 지어 줘야 합니다. 각 학생들의 쌍에 대해 이들이 서로 친구인지 ..
WAS와 Web Server Web Server 란? 정적인 컨텐츠(html, CSS, JS)를 HTTP 프로토콜을 통해 전송하는 서버 ex) Apache, Nginx WAS 란? Web Application Server의 줄임말로, 동적인 컨텐츠를 제공하는 일종의 미들웨어 WAS는 동적인 컨텐츠 뿐만 아니라 정적인 콘텐츠의 제공도 가능하고, 성능도 Web Server에 뒤쳐지지 않는다. 하지만 WAS가 정적 처리를 맡게 되면 부하가 많이 걸리기 때문에 자원 이용의 효율성, 배포 및 유지 보수의 편의성을 위해 Web Server와 분리되어 동적인 컨텐츠만 맡는 것이 좋다. 다양한 종류의 컨테이너를 내장하고 있는데, 이때 컨테이너는 동적인 데이터들을 처리해 정적인 페이지로 생성해주는 소프트웨어 모듈을 이야기말한다. Web Server..
[C++]백준 2798 블랙잭 링크 : https://www.acmicpc.net/problem/2798 2798번: 블랙잭 첫째 줄에 카드의 개수 N(3 ≤ N ≤ 100)과 M(10 ≤ M ≤ 300,000)이 주어진다. 둘째 줄에는 카드에 쓰여 있는 수가 주어지며, 이 값은 100,000을 넘지 않는 양의 정수이다. 합이 M을 넘지 않는 카드 3장 www.acmicpc.net 문제 카지노에서 제일 인기 있는 게임 블랙잭의 규칙은 상당히 쉽다. 카드의 합이 21을 넘지 않는 한도 내에서, 카드의 합을 최대한 크게 만드는 게임이다. 블랙잭은 카지노마다 다양한 규정이 있다. 한국 최고의 블랙잭 고수 김정인은 새로운 블랙잭 규칙을 만들어 상근, 창영이와 게임하려고 한다. 김정인 버전의 블랙잭에서 각 카드에는 양의 정수가 쓰여 있다. 그..
C++ string 클래스 string 헤더 추가 #include string 생성(초기화) string str = "hello"; string str("hello"); string str; str.assign("hello"); string *str = new string("hello"); // 동적할당 이용 코드 예시 string str = "abcd"; cout
C++ memset 사용법 memset 함수는 메모리의 내용을 원하는 크기만큼 특정값으로 설정 가능합니다. 보통 생성된 배열을 초기화할 때 사용합니다. 먼저, memset 함수가 있는 헤더를 추가해야 합니다. #include memset 사용법 memset(포인터(배열의 시작주소), 설정할 값, 크기); 포인터 : 배열의 시작 주소를 넣습니다. 설정할 값 : memset 함수는 1바이트 단위로 초기화하기 때문에 int형의 수를 넣을 때 0 이외의 수는 제대로 표현되지 않습니다. 즉, int 배열은 0으로 초기화할 때만 사용해야 합니다. char형의 경우에는 어떤 문자를 넣어도 문제 없습니다. 크기 : sizeof(자료형)*배열의 크기 혹은 sizeof(배열명) 으로 작성 가능합니다. 원형 void* memset(void* ptr,..
[C++]algospot BOGGLE 문제 링크 : https://www.algospot.com/judge/problem/read/BOGGLE algospot.com :: BOGGLE 보글 게임 문제 정보 문제 보글(Boggle) 게임은 그림 (a)와 같은 5x5 크기의 알파벳 격자인 게임판의 한 글자에서 시작해서 펜을 움직이면서 만나는 글자를 그 순서대로 나열하여 만들어지는 영어 www.algospot.com 작년에 이 문제를 풀어봤었지만, 시간 초과로 해결하지 못했었다. 당시 완전 탐색으로만 문제를 해결하려 했었는데, 이번에는 여기에 메모리제이션을 적용해 시간을 줄여보았고 결과적으로 4ms의 시간으로 문제를 해결할 수 있었다. 문제를 풀면서 까다로웠던 점은, 다음 문자가 될 수 있는 칸은 상하좌우/대각선으로 8개의 칸이 있는데, 이중에서..
git 시작하기 (저장소 생성, add, commit) git init git 설치 (https://git-scm.com/) git bash 열기 원하는 폴더로 이동 현재 폴더 위치 알려주는 명령어 : pwd 현재 위치 변경하는 명령어 : cd 현재 위치의 파일들 알려주는 명령어 : ls -al 폴더 만들기 : mkdir 폴더이름 해당 폴더로 이동 : cd 폴더이름 깃 레파지토리 생성(깃 저장소 초기화) : git init .git이라는 디렉토리 생성됨 .git에 버전관리 하면서 생성된 정보가 저장됨 git add 텍스트 파일을 생성해 수정해보자 파일 생성(vim 에디터 사용) : vim test.txt 키보드 i 누르면 하단에 insert 메시지 뜸 원하는 내용 적고 esc 누름 저장 후 종료 : :wq (w=write, q=quit) 파일 내용 확인 : ..