분류 전체보기

해당 문제는 수열 A가 주어졌을 때 원소들을 지우면서 "B[0] > B[1] B[3] "를 찾고, 다음 ""를 찾는 과정을 반복하면 문제를 해결할 수 있다. 이유는 다음과 같다. a > b e: 이 경우 >, 총 3번 반복했으므로 답은 4가 된다. b e , , d>e는 c>e만 남길 수 있다. 이때 be를 만족하고, ebe sequence[i+1]: flag = 1 result += 1 elif flag == 1 and sequence[i] < sequence[i+1]: flag = 0 result += 1 print(result+1)
해당 문제는 로마 숫자가 주어졌을 때 로마 문자들을 재배치하여 가장 작을 수를 찾아내는 문제다. 입력으로 주어지는 로마 숫자는 1~99까지의 양수이고, 우리가 만들 수 있는 수 역시 1~99까지의 수 밖에 되지 않으므로 Brute Force를 사용하기로 결정했다. 처음으로 떠올린 방법은 I, V, X, L, C의 개수에 따라 최소값을 모두 구하는 방식이다. 즉, I가 1개인 경우, I가 1개, X가 2개인 경우 등 모든 경우를 살펴보고, 해당 경우들의 최소값을 미리 배열에 저장하는 것이다. 따라서 입력으로 받아온 문자의 I, V, X, L, C의 개수를 보고 우리는 구했던 최소값을 찾아 출력하면 된다. 이를 위해 크기가 128인 배열 하나를 선언했다. 그리고 조합 가능한 모든 문자열을 살펴보며 (I의 개..
· BackEnd
1. MVC 패턴 MVC 패턴이란 Model-View-Controller의 약자로 소프트웨어 디자인 패턴 중 하나다. 해당 디자인 패턴은 model, view, controller 총 세 가지 구성요소를 가지는 데 이들은 아래와 같은 특징을 가진다. Model: 어플리케이션의 정보, 테이터를 나타낸다. 즉, 유저 정보 같은 것들이 이에 해당한다. 모델은 데이터의 상태가 변경되면 뷰 혹은 (가끔) 컨트롤러에게 알린다. View: 사용자가 볼 결과물을 생성한다. 즉, 사용자에게 받은 요청에 알맞는 결과물을 출력하는 역할을 담당한다. 뷰는 JSP, JSF, PDF, XML등으로 결과를 표현한다. Controller: 사용자의 요청에 응답하는 컴포넌트다. 모델 및 뷰를 업데이트하는 로직을 포함한다. 예를 들어,..
· Java
1. 추상 클래스란? 추상이란 실체 간에 공통되는 특성을 추출한 것을 말한다. 예를 들어, 우리는 개, 고양이, 햄스터 등의 실체에서 동물이라는 공통되는 특징을 추출할 수 있다. 이런 관계가 클래스에서도 존재하는다. 우리는 객체를 직접 샌서알 수 있는 클래스(개, 고양이, 햄스터 등)을 "실체 클래스"라고 부르며 이 클래스들의공통된 특성을 추출하여 선언한 클래스를 "추상 클래스"라고 부른다. 이때 실체 클래스는 추상 클래스를 상속받아 구현된다. 추가적으로 추상 클래스는 실체 클래스의 공통되는 필드와 메소드를 추출해서 만들었기 때문에 객체를 직접 생성하여 사용할 수 없다. Animal animal = new Animal() // 불가능 추상 클래스는 아래와 같은 목적을 가지고 사용한다. 실체 클래스들의 공..
1. form 태그란? 우리가 submit 버튼을 눌렀을 때 get 혹은 post 방식으로 서버에 요청을 전달하고 싶은 경우가 있다. 이 경우 태그를 사용하면 원하는 작업을 처리할 수 있다. 즉, form 태그는 속성을 통해 서버로 어떤 방식으로 넘기고, 어떻게 처리할 지를 지정하는 역할을 수행한다. form 태그는 아래와 같은 속성으로 구성된다. name form의 이름을 지정한다. method 서버로 전달할 방식을 지정한다. (get/post) action 내용을 처리할 프로그램을 지정한다. target 지정한 스크립트 파일이 현재 창으로 열릴지, 다른 창으로 열릴지 선택한다. enctype 데이터가 서버로 제출될 때 인코딩되는 방법을 명시한다. 2. form 태그 예시 (Servlet 활용 코드) ..
· Java
1. getTime() 메서드 java.util.Date 객체의 getTime 메서드는 1970년 1월 1일 00시 00분 00초 UTC를 기준으로 경과 한 밀리초를 반환한다. 이 밀리초를 java.sql.Date의 생성자에 전달하게 되면 우리가 원하는 java.sql.Date 객체를 생성할 수 있다. 즉, 방법은 아래와 같다. public static void main(String[] args) { java.util.Date utilDate = new java.util.Date(); long milliSeconds = utilDate.getTime(); java.sql.Date sqlDate = new java.sql.Date(milliSeconds); System.out.println("java.ut..
1. request 객체 설정 웹 브라우저를 통해 post 방식으로 한글값을 받는 경우 어떤 일이 발생하는지 확인해보자. protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { System.out.println(request.getParameter("name")); // 결과: ãã´ãã¹ } 위 코드의 결과를 보면 매우 이상한 문자가 발생하는 것을 확인할 수 있다. 이는 우리는 UTF-8이라는 인코딩 방식을 사용하지만 브라우저는 요청을 보낼 때 해당 encoding 방식을 보장하지 않기 때문에 발생하는 문제다. 따라서 우리는 request 객체의 ..
· BackEnd/JDBC
JDBC를 통해 Datetime 타입 저장 방법 JDBC를 통해 Mysql의 Datetime을 저장하는 방법은 간단히 String을 넘겨주면 된다. Mysql의 Datetime은 아래와 같은 구조를 가진다. yyyy-MM-dd HH:mm:ss (년-달-일 시간:분:초) 즉, 위와 같은 구조를 가진 String 객체를 PreparedStatement객체의 setString()으로 넘겨주면 된다. 아래는 예시 코드다. // java.util.Date 객체를 Datetime 타입에 맞는 String 객체로 변환하여 createDate에 저장 businessCard.setCreateDate(new Date()); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM..
코딩마루
'분류 전체보기' 카테고리의 글 목록 (12 Page)