2630번
·
CS 이론/알고리즘
https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 16, 32, 64, 128 중 하나이다. 색종이의 각 가로줄의 정사각형칸들의 색이 윗줄부터 차례로 둘째 줄부터 마지막 줄까지 주어진다. www.acmicpc.net 이 문제는 재귀함수를 이용한 분할 정복이다. 원리는 간단하다. 재귀적으로 종이의 크기를 줄이면서 시작지점을 4곳으로 설정하여 검사를 시행하는 방식이다. 예들들어, 8x8크기의 종이가 있다면 처음에 검사를 했을 때, 모든 색이 파란색이거나 흰색이 아니라면 4등분한다. 그런다음, 1,1지점과 1,5지점 5,1지점 5,5지점으로 나누어서 각각을 시작점으로하는 검사를 다시한다...
눈이 녹으면 Spring-MVC 1월 9일 3회차 모각코
·
모각코
오늘 할 일 HTTP 구성요소 알기 HTTP START LINE과 header 내용 접근 방법 알기 HTTP 요청 메시지를 개발자가 직접 파싱해서 사용해도 되지만, 매우 불편할 것이다. 서블릿은 개발자가 HTTP 요청 메시지를 편리하게 사용할 수 있도록 개발자 대신에 HTTP 요청 메시지를 파싱한다. 그리고 그 결과를 HttpServletRequest 객체에 담아서 제공한다. HttpServletRequest를 사용하면 다음과 같은 HTTP 요청 메시지를 편리하게 조회할 수 있다. HTTP 요청 메시지 POST /save HTTP/1.1 - START LINE Host: localhost:8080 - HEADER Content-Type: application/x-www-from-urlencoded use..
11047번
·
CS 이론/알고리즘
https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 이번 문제는 그리디 알고리즘 문제이다. 나는 처음 그리디 알고리즘이 정확히 무엇인지 모르고 이 문제를 풀었다 하지만 한번에 맞추었다. 그렇지만 그리디 알고리즘이 무엇인지는 알고 가야 할 것 같아서 정리 해보려고 한다. 그리디 알고리즘이란? 그리디 알고리즘은 현재 상황에서 지금 당장 좋은 것만 고르는 방법을 의미한다. 일반적인 그리디 ..
1018번
·
CS 이론/알고리즘
https://www.acmicpc.net/problem/1018 1018번: 체스판 다시 칠하기 첫째 줄에 N과 M이 주어진다. N과 M은 8보다 크거나 같고, 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제는 25682번과 완전 같은 코드이다. 먼저 N,M을 입력 받고, chess판을 채우기위한 값들을 입력받고, 그 다음에 시작지점이 검은색일때와 흰색일 때로 나누어서 생각한다. 그렇게 시작점과 같은색인 부분, 시작지점과 다른색인 부분을 (i+j)%2==0의 조건으로 판별해서 누적합을 계산한다. 물론 이 문제에서는 브루트포스법을 사용하라는 의도로 내었다. 브루트 포스로 한다면, 위의 조..
24060번
·
CS 이론/알고리즘
https://www.acmicpc.net/problem/24060 24060번: 알고리즘 수업 - 병합 정렬 1 첫째 줄에 배열 A의 크기 N(5 ≤ N ≤ 500,000), 저장 횟수 K(1 ≤ K ≤ 108)가 주어진다. 다음 줄에 서로 다른 배열 A의 원소 A1, A2, ..., AN이 주어진다. (1 ≤ Ai ≤ 109) www.acmicpc.net 이 문제는 조금 별로인 것 같다. 객체 지향적으로 코딩을 하면 시간 초과가 나와서 모든 메서드를 static으로 만들어야 한다. 문제에 주어진 의사코드를 바탕으로 코드를 짠뒤에 변화하는 횟수를 세면서 k번째가 되면 그때 변화시킨 숫자를 출력하는 문제인데 지속적인 시간초과로 다른 사람들의 코드를 볼 수 밖에 없었다... 원인은 클래스를 따로 만들어서 ..
눈이 녹으면 Spring - MVC 1월 3일 2회차 모각코
·
모각코
오늘 할 일 스프링 강의를 들으면서 자바 백엔드 웹 기술의 역사를 알고 서블릿 사용을 위한 프로젝트 생성과 기초를 해본다. 과거 기술 서블릿 - 1997 HTML 생성이 어려움 JSP - 1999 HTML 생성은 편리하지만, 비즈니스 로직까지 너무 많은 역할 담당 서블릿, JSP 조합 MVC 패턴 사용 모델, 뷰 컨트롤러로 역할을 나누어 개발 MVC 프레임워크 춘추 전국 시대 - 2000년 초 ~ 2010년 초 MVC 패턴 자동화, 복잡한 웹 기술을 편리하게 사용할 수 있는 다양한 기능 지원 스트럿츠, 웹워크, 스프링 MVC(과거 버전) 현재 사용 기술 애노테이션 기반의 스프링 MVC 등장 @Controller MVC 프레임워크의 춘추 전국 시대 마무리 스프링 부트의 등장 스프링 부트는 서버를 내장 과거..
25682번
·
CS 이론/알고리즘
https://www.acmicpc.net/problem/25682 25682번: 체스판 다시 칠하기 2 첫째 줄에 정수 N, M, K가 주어진다. 둘째 줄부터 N개의 줄에는 보드의 각 행의 상태가 주어진다. B는 검은색이며, W는 흰색이다. www.acmicpc.net 이 문제는 생각해내는 것 조차 어려웠다. 일단 체스판의 테이블을 만들고 누적합을 구해야한다는 생각은 했지만, 어떤 것의 누적합을 구해야 할지 몰랐다. 그래서 처음에는 테이블 자체의 누적합을 이용해서 해야하는건지 고민하느라 오래걸렸고, 그러다가 다른 사람들이 질문게시판에 올린 글을 보고, 틀린것을 누적합으로 계산하는 것이 맞겠다는걸 알았다. 그래서 이 문제를 틀린 것에 대한 누적합을 구하는 방법으로 생각했다. 풀이에서 경우의 수는 2가지이..
눈이 녹으면 Spring - MVC 1월 2일 1회차 모각코
·
모각코
오늘 할 일 스프링 강의를 듣고 개념익히기 HTML, HTTP API, CSR, SSR에 대해 알아보기 Aimers 강의 듣기 스프링 강의를 듣고, 개념을 익히는 것에 오늘은 중점을 둬서 아래와 같은 내용을 공부했다. HTML, HTTP API, CSR, SSR 정적 리소스 고정된 HTML 파일, CSS, JS, 이미지, 영상 등을 제공 주로 웹 브라우저 HTML 페이지 동적으로 필요한 HTML 파일을 생성해서 전달 웹 브라우저 : HTML 해석 HTTP API HTML이 아니라 데이터를 전달 주로 JSON 형식 사용 다양한 시스템에서 호출 데이터만 주고 받음, UI 화면이 필요하면, 클라이언트가 별도 처리 앱, 웹 클라이언트, 서버 to 서버 다양한 시스템 연동 주로 JSON 형태로 데이터 통신 UI ..