본문 바로가기

전체 글46

[BOJ 2447번] 별 찍기 - 10 [BOJ] 2447번 별 찍기 - 10 https://www.acmicpc.net/problem/2447 2447번: 별 찍기 - 10 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27, ...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운데를 제외한 모든 칸에 별이 www.acmicpc.net 이 문제는 전형적인 분할 정복, 재귀의 문제이다. 이 문제의 설명에서도 언급했듯이 재귀적인 패턴으로 별을 찍는 문제이다. 문제의 설명은 다음과 같다 재귀적인 패턴으로 별을 찍어 보자. N이 3의 거듭제곱(3, 9, 27,...)이라고 할 때, 크기 N의 패턴은 N×N 정사각형 모양이다. 크기 3의 패턴은 가운데에 공백이 있고, 가운.. 2021. 10. 12.
[Servlet & JSP] Redirect vs forward 방식 비교 [Servlet & JSP] Redirect vs forward 방식 비교 현재 JSP & Servlet을 활용한 WEB 개발에 대해서 전체적으로 학습을 진행하고 있습니다. 그중에서 Redirect와 foward 개념에 대해서 정리해보고자 합니다. 또한 간단한 코드를 통해서 동작 방식이 어떻게 다른지 역시 알아보고자 합니다:) 이번에 살펴볼 코드의 WEB 프로젝트의 구조는 아래와 같습니다. 시작은 index.jsp에서 부터 시작을 합니다. 태그의 경로 지정을 통해서 Controller를 담당하고 있는 Servlet 파일명을 지정해 주었습니다. Controller에서 View(forward-result.jsp, redirect-result.jsp) 까지 어떤 방식으로 이동하는지 흐름을 살펴보겠습니다. 위 .. 2021. 10. 11.
[JAVA] Java SE 와 Java EE 차이점 [JAVA] Java SE 와 Java EE 차이점 이 차이점을 블로그에 개시하는 이유는 처음에 JDK를 설치하고 JavaSE 환경 세팅을 통해서 Java 언어에 입문을 하였고 추후에 JDBC까지 연동하는 작업을 공부를 했다. 그 후에 WEB 교육과정으로 넘어오게 되면서 프로젝트를 생성하고 JavaEE 플랫폼을 설정해주는 과정을 통해서 2개의 차이점이 궁금하고 어떻게 관련이 있는지 궁금해서 공부를 해보았다. 각종 용어가 너무 혼란스러웠고 이 시점에서 한 번쯤 관계와 용어 정리를 해보는 것도 좋겠다 싶어서 마음먹고 정리하기로 했다. Java 프로그래밍 언어에서는 4가지의 플랫폼이 존재한다. 자바 플랫폼 Java SE (Standard Edition) 자바 플랫폼 Java EE (Enterprise Edti.. 2021. 10. 2.
[JAVA ] JDBC 활용한 미니 프로젝트 - 3단계 0. 계좌관리 프로그램 해당 프로젝트는 KOSTA EDU 교육에서 진행하는 수업의 일부를 공부하는 목적으로 올리는 용도입니다 :) 단계별로 프로젝트를 실습할 예정이며 TestUnit 클래스를 먼저 만들고 여러 가지 예외적인 상황에 대해서 생각해 본 후 해당 기능을 구현하는 순서로 진행하였습니다. 참고로 TestUnit 클래스는 하나의 기능을 테스트하는 목적으로 설계된 클래스입니다. 1. 요구사항8 출금하는 기능 TestUnit Class 작성하기 요구사항8 : 출금 시에는 계좌번호, 비밀번호가 일치해야 하며 잔액 확인 절차가 필요하다. 어디서 본 문장인 듯하다 요구사항5는 다음과 같다. 요구사항5: "잔액조회는 계좌번호가 존재해야 하고 계좌번호에 맞는 비밀번호가 일치해야 한다." 따라서 잔액 확인을 위해.. 2021. 9. 21.
[JAVA ] JDBC 활용한 미니 프로젝트 - 2단계 0. 계좌관리 프로그램 해당 프로젝트는 KOSTA EDU 교육에서 진행하는 수업의 일부를 공부하는 목적으로 올리는 용도입니다 :) 단계별로 프로젝트를 실습할 예정이며 TestUnit 클래스를 먼저 만들고 여러 가지 예외적인 상황에 대해서 생각해 본 후 해당 기능을 구현하는 순서로 진행하였습니다. 참고로 TestUnit 클래스는 하나의 기능을 테스트하는 목적으로 설계된 클래스입니다. 1. 잔액조회 기능 구현 전 TestUnit Class 작성하기 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 package test; import java.sql.SQLException; import model.Accoun.. 2021. 9. 19.
[BOJ 1011번] Fly me to the Alpha Centauri [BOJ 1011번] Fly me to the Alpha Centauri https://www.acmicpc.net/problem/1011 1011번: Fly me to the Alpha Centauri 우현이는 어린 시절, 지구 외의 다른 행성에서도 인류들이 살아갈 수 있는 미래가 오리라 믿었다. 그리고 그가 지구라는 세상에 발을 내려 놓은 지 23년이 지난 지금, 세계 최연소 ASNA 우주 비행 www.acmicpc.net 이 문제는 이렇게 푸는 것이 확실한 것 같지만 더 이상 풀이에 진전이 없어서 해답을 본 문제이다.. 내가 생각한 풀이는 맞았으나 이를 코드로 구현하기가 꽤나 까다로웠던 문제였다. 내가 생각한 풀이 - 1 시작 위치 x 목표위치 y가 어떻든 중요한건 이동해야 할 거리가 중요하다. 이.. 2021. 9. 16.
[알고리즘] 에라토스테네스의 체 [알고리즘] 에라토스테네스의 체 고대 그리스의 수학자이자 지리학자인 에라토스테네스가 고안한 소수를 찾는 방법으로 2를 제외한 2의 배수, 3을 제외한 3의 배수, 5를 제외한 5의 배수의 순서로 수를 지워나가 끝에 남는 수가 소수이다. 마치 체로 치듯이 걸러낸다고 하여 '에라토스테네스의 체' 라고 불린다. 이는 자연수 N에 대해서 그 이하의 수 중에서 소수를 찾는 가장 빠른 방법이다. 방법 1부터 N까지 소수를 구하고자 하는 구간의 모든 수를 쭉 나열한다. 우선 소수도, 합성수도 아닌 유일한 자연수 1을 제거한다. 남은 수 가운데 가장 작은 수를 제외한 배수를 모두 지운다. 3번 위의 과정을 반복하면 구하는 구간의 모든 소수가 남는다. 위의 2번 과정을 조금 더 풀어서 흐름이 어떻게 진행되는지 살펴보자... 2021. 9. 16.
[알고리즘] 소수 판별법 [알고리즘] 소수 판별법 소수(prime number) 란? 소수 (Prime Number)는 1과 자기 자신으로만 나누어떨어지는 자연수를 뜻한다. 좀 더 수학적인 표현을 사용한다면 정수 p > 1의 양수인 약수가 1과 p뿐일 때, p를 소수라고 부른다. 가령 자연수 7의 경우 1과 7로만 나누어 떨어지므로 소수이다. 다른 예로 자연수 4의 경우 1, 2, 4로 나누어 떨어지므로 소수가 아니다. 그렇다면 소수에 대해서 알았으니 소수판별법에 대해서 알아보자. 소수판별법 수론에서, 소수판별법은 어떤 자연수 N이 소수인지 합성수인지를 판별하는 알고리즘들을 말한다. 추가로, 합성수(合成數, composite number)는 1보다 큰 자연수 중에서 소수가 아닌 수로 합성수의 특징은 약수의 개수가 3개 이상이고 .. 2021. 9. 13.
[JAVA ] JDBC 활용한 미니 프로젝트 - 1단계 0. 계좌관리 프로그램 해당 프로젝트는 KOSTA EDU 교육에서 진행하는 수업의 일부를 공부하는 목적으로 올리는 용도입니다 :) 단계별로 프로젝트를 실습할 예정이며 TestUnit 클래스를 먼저 만들고 여러가지 예외적인 상황에 대해서 생각해 본 후 해당 기능을 구현하는 순서로 진행하였습니다. 참고로 TestUnit 클래스는 하나의 기능을 테스트하는 목적으로 설계된 클래스입니다. 1. 요구사항 분석 소프트웨어 설계에 앞서 첫 단계로 요구 사항을 분석하는 것이 첫 번째다. 하지만 요구사항 분석에도 여러가지 모델링 기법이 존재하며 깊게 하고자 한다면 매우 복잡하기에 매우 간단한 프로그램의 설계인 만큼 간단하게 분석해보고 넘어가보고자 한다. 계좌관리 프로그램인 만큼 당연히 계좌를 개설하고, 잔액조회, 입출금,.. 2021. 9. 8.