Computer Science 387

Backend 기초 #1 | HTTP HyperText Transfer Protocl이란?

HTTP HyperText Transfer Protocol은 웹 상에서 정보를 주고받는 방식을 정하는 프로토콜(규칙)이다. 주로 HTML 문서를 주고 받는 데 쓰이는 HTTP는 클라이언트와 서버가 통신하는 방식을 정한다. 클라이언트(웹 브라우저)는 HTTP를 통하여 서버에 필요한 정보를 요청(Request)하고, 서버는 클라이언트의 요청에 응답(Respond)하여 필요한 데이터를 클라이언트에게 전달한다. HTTP는 일정한 메시지의 포맷을 가지고 있다. 클라이언트가 서버에 보내는 요청 메시지(Request) 기본적으로 Request + URL + header + body의 꼴을 취한다. 예를 들면, GET /images/logo.gif HTTP/1.1 GET https://naver.com 와 같이 사용할..

백준 C++ | #7 BOJ1018 체스판 다시 칠하기 C++ 문제 풀이

1018번: 체스판 다시 칠하기 (acmicpc.net) 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net #include #include int main() { // input int n, m; std::cin >> n >> m; char** chess = new char* [n]; for (int i = 0; i < n; i++) { chess[i] = new char[m]; } char getline; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j..

백준 C++ | #6 BOJ11508 2+1 세일 C++ 풀이

11508번: 2+1 세일 (acmicpc.net) 11508번: 2+1 세일 KSG 편의점에서는 과일우유, 드링킹요구르트 등의 유제품을 '2+1 세일'하는 행사를 하고 있습니다. KSG 편의점에서 유제품 3개를 한 번에 산다면 그중에서 가장 싼 것은 무료로 지불하고 나머지 두 www.acmicpc.net #include #include #include bool compae(int i, int j) { return j > n; std::vector lst(n); int tmp = 0; for (int i = 0; i > tmp; lst.push_back(tmp); } std::sort(lst.begi..

백준 C++ | #5 BOJ1427 소트인사이드 C++ 문제 풀이

1427번: 소트인사이드 (acmicpc.net) 1427번: 소트인사이드 첫째 줄에 정렬하려고 하는 수 N이 주어진다. N은 1,000,000,000보다 작거나 같은 자연수이다. www.acmicpc.net #include #include #include bool compare(int i, int j) { return j > n; int size = 0; while (n > 0) { num.push_back(n % 10); n /= 10; size++; } std::sort(num.begin(), num.end(), compare); for (int i = 0; i < size;i++) { std::c..

백준 C++ | #4 BOJ 11399 ATM 문제 풀이

11399번: ATM (acmicpc.net) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net #include #include int main() { // 정렬해서 합하기 int size; std::cin >> size; int* money = new int[size]; for (int i = 0; i > money[i]; } std::sort(money, money + size); int sum = money[0]; for (int i = 1; i < size; i++) { money[i] = ..

Java | 객체 지향 디자인 패턴

객체지향 프로그래밍이 뭔가요? 어떤 프로그래밍 방식, 방법론 절차적 프로그래밍 데이터와 기능이 클래스로 캡슐화된 객체 (은닉성) 내부 구조는 private으로 감춰놓고 public으로 수행 (interface) 청소 담당 - 청소, 교실 이동 청소 담당이라는 인터페이스. 다른 클래스를 조립할 수도 있다. 반별로 일 실시. 교실 단위로 묶어서 청소 객체 지향의 상속 교실 청소팀을 (추상적인) 상위 클래스로 해서 과학 청소팀이라는 (구체적인) 자식 클래스를 만든다. 이때 @Override를 이용함 추상 클래스로는 abstract 객체를 생성할 수 없다. (다형성) 자식 클래스에서 다른 것으로 덮어쓸 수 있는 것 override 체계적이고 안정적인 코드 작성 가능함 트리 구조의 상하 관계가 뚜렷하다. (인터페..