전체 글191 [백준] 20363번 - 당근 키우기(JAVA) www.acmicpc.net/problem/20363 20363번: 당근 키우기 첫째 줄에 X와 Y (0 ≤ X, Y ≤ 109)를 의미하는 정수가 공백으로 구분되어 주어진다. www.acmicpc.net - 문제 - - 풀이 과정 - 이 문제는 제시된 것처럼 온기를 10주면 수분이 1감소하고 수분을 10주면 온기가 1감소한다는 규칙이 있습니다. 이 규칙을 적용하여 다른 예시를 만들어 보았습니다. 예시를 풀어보면서 값이 더해지는 규칙을 살펴보니 큰 수를 먼저 더하고 작은 수를 더합니다. 그 다음 작은 수를 더하면서 발생한 감소 값을 다시 더해주니 결과값이 나왔습니다. 큰 수를 먼저 더하는 이유는 문제에 온기 또는 수분이 0이면 감소하지 않는 다는 조건이 있기 때문에 큰 수를 먼저 더해줍니다. 만약 작은 .. 2021. 4. 20. UML(Unified Modeling Language)다이어그램 이란?? UML(Unified Modeling Language) 이란? 통합 모델링 언어라는 뜻으로 객체 지향 소프트웨어 엔지니어링 분야의 표준화된 범용 모델링 언어를 말합니다. 시스템의 모든 것을 문서화, 지정, 구축하는데 사용되는 표준 언어입니다. 요구분석, 시스템설계, 시스템 구현 등의 시스템 개발 과정에서, 개발자 간의 의사소통을 원활하게 이루어지게 하기 위해 표준화되었습니다. UML 구성요소 사물 : 추상적 개념으로 모델 구성의 기본요소 입니다. 시스템의 구조, 행위를 표현하고 개념들을 그룹화 하는 것으로 부가적인 설명을 위한 것들이 있습니다. 관계 : 사물들 간의 연결 관계를 추상화 한 것입니다. 다이어그램 : 관련성이 있는 사물들 간의 상호관계를 도형 형태로 표현한 것입니다. UML(Unified M.. 2021. 4. 15. 소프트웨어 생명 주기(Software Life Cycle) 소프트웨어 생명 주기(Software Life Cycle)란? 소프트웨어를 체계적으로 개발하고, 관리하기 위해 개발 과정을 단계별로 나누어 구분한 것입니다. 일반적으로 소프트웨어 개발 과정은 아래와 같이 이루어집니다. [요구사항 분석 -> 시스템 명세 -> 설계 -> 구현 -> 테스트 -> 유지보수] 소프트웨어 생명 주기는 여러가지 모형이 있는데 이 모형에 따라 개발 과정은 달라집니다. 예) 폭포수 모형, 프로토타입 모형, 나선형 모형, 애자일 모형 1. 요구사항 분석(Requirement Analysis) - 개발할 소프트웨어의 기능과 제약조건, 목표 등을 소프트웨어 사용자와 함께 명확히 정의하는 단계입니다. - 개발해야 할 소프트웨어의 성격을 정확히 이해하고 개발 방법과 필요한 자원과 예산을 예측해야.. 2021. 4. 13. [백준] 11047번 – 동전 0(JAVA) 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 - 문제 - - 풀이 과정 - 그리디 문제에서 출제되는 기본적인 형식입니다. 목표 금액을 동전의 단위가 가장 큰 값부터 나누어 주면 목표 금액을 만들기 위한 동전 개수의 최소값을 구할 수 있습니다. 동전의 단위를 입력 받을 배열을 선언 후 하나씩 입력 받아 배열에 저장합니다. (배열의 역순으로 단위를 입력 받아 단위가 가장 작은 동전이 배열에 마지.. 2021. 4. 8. MVC패턴이란? MVC패턴이란 Model, View, Controller의 약자로 소프트웨어를 디자인하기 위한 디자인 패턴입니다.애플리케이션, 프로젝트를 구성할 때 구성 요소를 세가지(Model, View, Controller)의 역할로 나누어 개발과 유지보수의 편리함을 위한 디자인 패턴입니다.Model : 백그라운드에서 동작하는 로직은 처리합니다.View : 사용자가 보게 될 결과 화면을 출력합니다.Controller : 사용자의 입력처리와 흐름 제어를 담당합니다. 위키피디아에서는 MVC패턴을 다음과 같이 정의하고 있습니다.MVC는 소프트웨어 공학에서 사용되는 소프트웨어 디자인 패턴이다. 이 패턴을 성공적으로 사용하면, 사용자 인터페이스로부터 비즈니스 로직을 분리하여 애플리케이션의 시각적 요소나 그 이면에서 실행되는 .. 2021. 4. 7. [백준] 2667번 - 단지번호붙이기(JAVA) www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net - 문제 - - 풀이 과정 - 주어진 2차원 배열에서 1로 연속된 개수와 1로 이어진 공간의 개수를 출력하는 문제입니다. 2차원 배열을 순차적으로 탐색하면서 1이 발견되면 연속된 1을 찾기 위한 탐색을 시작합니다. 탐색을 시작하게 되면 상, 하, 좌, 우의 값을 확인하여 해당 값이 1이면 다음 탐색 지점으로 등록하고 0일 경우 패스합니다. 탐색하면서 1이 발견된 경우 카운트를 해주어서 1의 개수를 누적합니다. 이.. 2021. 4. 6. [백준] 10870번 – 피보나치 수 5(JAVA) www.acmicpc.net/problem/10870 10870번: 피보나치 수 5 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가 www.acmicpc.net - 문제 - - 풀이 과정 - 피보나치 수는 문제에 있듯이 0과 1로 시작하며 다음 피보나치 수는 바로 앞의 두 피보나치 수의 합이 됩니다. 예를 들어 [세번째 피보나치 수 = 첫번째 + 두번째 피보나치 수] [다섯 번째 피보나치 수 = 세 번째 + 네 번째 피보나치 수]가 되기에 Fn = Fn-1 + Fn-2 (n ≥ 2)의 공식이 성립하게 됩니다. 그렇기에 N번째 피보.. 2021. 3. 30. [SQL] PL/SQL – PROCEDURE & FUNCTION o PROCEDURE & FUNCTION은 PL/SQL 구문을 저장하여 다음에 사용할 수 있도록 한다. PROCEDURE : 반환값이 없다. 매개변수가 있다. (in/out) FUNCTION : 반환값이 있다. 매개변수가 있다. (in/out) PROCEDURE o PL/SQL문을 저장하는 객체로 필요할 때마다 복잡한 구문을 다시 입력할 필요 없이 간단하게 호출해서 실행 결과를 얻을 수 있다. CREATE TABLE PRO_TEST AS SELECT * FROM EMPLOYEE; SELECT * FROM PRO_TEST; -- 데이터를 삭제하는 프로시져 만들기 CREATE OR REPLACE PROCEDURE DEL_DATA IS BEGIN -- DECLARE없이 지역변수 선언 DELETE FROM PR.. 2021. 3. 29. [JAVA] 객체 비교 시 equals()와 hashCode()는 왜 같이 사용해야 할까?? equals()와 hashCode() o hashCode() : 두 객체가 같은 객체인지, 동일성(identity)를 비교하는 메소드 o equals() : 두 객체의 내용이 같은지, 동등성(equality)를 비교하는 메소드 equals()는 객체의 주소를 비교하여 객체의 주소가 서로 동일한 경우 동등하다고 인식합니다. 즉, 오직 자기 자신과만 같다고 인식합니다. 그렇기에 @Override로 재정의 하여 비교 대상을 재정의 함으로써 객체의 비교가 가능하고 Map의 key와 Set의 원소로 사용할 수 있습니다. 본문 보통 객체의 동등성 비교를 위해 equals()오버라이딩을 하면 hashCode()도 같이 오버라이딩 하라고 하는데 이에 대한 이유를 알아보려고 합니다. HashSet에 객체를 add하면 H.. 2021. 3. 26. 이전 1 ··· 9 10 11 12 13 14 15 ··· 22 다음