목록전체 글 (99)
한다 공부
데이터의 양이 기하급수적으로 증가하면서 file만으로는 데이터의 정리가 힘들어졌다. 그래서 database 라는 소프트웨어가 생겨났다. MySQL은 오픈소스인 관계형 데이터베이스이다. 오픈소스이며 무료라는 장점으로, Web과 함께 기하급수적으로 성장하게 되었다. MySQL과 같은 관계형 데이터베이스의 특징은 데이터를 표의 형태로 나타낼 수 있다는 것이다. codeanywhere을 이용하면 설치없이 database 실습을 할 수 있다. Cloud IDE · Online Code Editor · Codeanywhere Cloud IDE · Online Code Editor · Codeanywhere Save time by deploying a development environment in seconds. ..
5639번: 이진 검색 트리 (acmicpc.net) 5639번: 이진 검색 트리 트리를 전위 순회한 결과가 주어진다. 노드에 들어있는 키의 값은 106보다 작은 양의 정수이다. 모든 값은 한 줄에 하나씩 주어지며, 노드의 수는 10,000개 이하이다. 같은 키를 가지는 노드는 없다 www.acmicpc.net 예전에 올린 이진 탐색 트리 코드를 일부 수정했다. c언어로 구현했던 것을 c++로 구현하니 신경써야하는 부분이 있었다. 엔터 입력시 입력을 종료해야하는 부분이 까다로웠다. 그래서 getline을 이용해 문자열로 받은 다음, stoi를 이용해 문자열을 정수로 변환했고 엔터 입력시 반복문을 빠져나오게 했다. 4358번 생태학 문제를 풀 때 비슷한 방법을 이용했다. #include #include #..
HTML을 이용해서 만든 웹페이지를, 사용자와 상호작용할 수 있도록 하기 위해 자바스크립트가 탄생했다. Iterate 정돈하기 를 사용을 한다면 유지보수가 더욱 쉬워진다. 서버 입장에서도 cache에 js파일을 담아두면 되기 때문에 이 방법이 더 효율적이다. [참고자료] 생활코딩 WEB2 - JavaScript
Git 깃이란? 버전 관리 시스템 중 하나이다. git-scm.com에 접속하여 git 을 다운 받으면 git bash를 통해 윈도우 환경에서도 리눅스, 유닉스 명령어를 사용해 제어할 수 있다. $ git init : 현재 dir에 작업을 진행하겠다고 git에게 알려주는 명령어 $ vim f1.txt : f1.txt라는 파일 생성. 버전 관리를 하기 위해 git에게 알려야 한다. 알리지 않으면 해당 파일 무시 $ git add f1.txt : 해당 파일 버전 관리 시작 $ git status : 관리 가능한 파일들의 상태를 알려준다 Commit 버전 관리 버전 = 의미있는 변화. 단위가 존재한다. $ git config --global user.name 이름 $ git config --global use..
HTML에서도 디자인을 할 수 있다. 태그를 이용하면 된다. 하지만 이 경우 번거롭게 한 줄씩 모두 고쳐야하는 단점이 있다. 바로 이 문자의 크기와 색상, 정렬 등 디자인 적인 부분을 해결하기 위해 새로운 언어인 CSS가 탄생했다. CSS 기본 문법 웹 브라우저는 css코드를 인식할 필요가 있다. 그래서 html이 아닌 css 문법에 따라 해석을 해달라고 하는 코드를 입력해야한다. = 스타일 태그 안에 css를 작성하면 된다 = 스타일 태그 안 css 코드를 입력하면 모든 글씨가 빨간색으로 바뀐다. a는 선택자 selector이다. 해당 효과를 누구에게 줄 것인지 선택할 수 있다. { } 안의 내용은 효과, 선언, declarataion이라고 한다. color은 property이고 red는 value이다..
웹은 Public Domain으로 저작권이 없다. HTML (HyperText Markup Language)은 웹 페이지를 만드는데 필요한 마크업 언어이다. Tag 내가 원하는 내용 = "내가 원하는 내용"이 굵게 표시된다 내용 = u는 underline의 약자로 "내용"에 밑줄이 그어진다 내용 = h1부터 h6까지 존재하는 이 태그는, 제목을 나타내는 태그이다. headings의 약자이고 숫자가 올라갈 수록 글씨가 작아진다. 이 태그에 감싸진 내용은 자동 줄바꿈이 된다. = 줄 바꿈 태그, 상당히 자주 쓴다. 닫는 태그가 없다. 내용 = 단락을 변경하는 태그. br 태그와 보여지는 것에 큰 차이는 없다. 단락이 정해진 여백만큼 구별되는데 css를 이용하면 조절할 수 있다. 라는 css을 이용하면 단락이..
https://www.acmicpc.net/problem/1448 1448번: 삼각형 만들기 첫째 줄에 빨대의 개수 N이 주어진다. N은 3보다 크거나 같고, 1,000,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 빨대의 길이가 한 줄에 하나씩 주어진다. 빨대의 길이는 1,000,000보다 www.acmicpc.net 삼각형 만들기 삼각형을 만드는 조건 : 가장 긴 변의 길이가 나머지 두 변의 길이의 합보다 작으면 된다. a < b < c 일 때 c < a+b 이면 성립한다. 최대 길이의 삼각형을 만들면 되므로 가장 큰 길이인 빨대 3개를 골라주면 된다. 삼각형이 만들어지지 않을 수도 있다. 그러면 가장 큰 길이인 빨대를 버리고 나머지 중에 제일 큰 3개의 빨대를 골라서 비교해보면 된다...
2108번: 통계학 (acmicpc.net) 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 1. 산술평균의 경우 반올림값을 유의한다 2. 중간값의 경우, 입력 갯수가 홀수이므로 어렵지 않다 3. 최빈값의 경우, pair에 넣어서 빈도수를 비교하고 재정렬한다 4. 범위의 경우 차의 절댓값을 이용한다 최빈값이 까다롭지만 pair를 이용한다면 비교하기 수월하다. 이 문제는 함수를 많이 만드는 바람에 return을 자꾸 깜빡해서 런타임 에러가 많이 났었다 ㅠ #include #include #include #include #in..

정답은 map으로 저장하고 학생의 답은 vector로 저장했다. 정답을 o[a]=0 o[b]=1 o[c]=2 으로 저장하고 학생의 답을 x[0]=a, x[1]=c, x[2]=b 로 저장을 했으니 정답의 맵의 key에 vector의 요소를 넣어주고 value의 크기를 비교해주면 된다. #include #include #include using namespace std; int main() { map o; vector x; int n, temp; cin >> n; temp = n; //정답 map으로 저장 string s; while (temp--) { cin >> s; o[s] = n - temp; } //학생의 답 vector로 저장 temp = n; while (temp--) { cin >> s; x...

1. 테두리가 성립하는 모든 경우의 수를 구한다. 2. 해당 테두리로 사각형을 만들었을 때, 입력한 안쪽 벽돌의 갯수가, 만들어진 사각형의 내부 갯수와 같은지 확인한다. 테두리를 구하는 방법은, 가로길이 * 2 + 세로길이 *2 를 한 다음 겹치는 모서리 4개를 빼줘도 된다. 나는 가로길이 *2 + (세로길이-2) * 2 를 했다. i = 가로 j = 세로 인데, 가로의 범위와 세로의 범위는 주석에 적어뒀다. #include using namespace std; int main() { int r, b; cin >> r >> b; int l, w; //i의 범위 // 세로 길이가 가장 짧은게 3이다. // 이 경우 가로와 겹치지 않은 세로 벽돌은 2개 뿐임. //따라서 2개를 빼주고 위와 아래 2개가 있으..