전체 글 682

[정보처리기사] UML (Unified Modeling Language)의 구성요소 ( 다이어그램 )

UML이란 시스템 개발 과정 중 상호 간의 원활한 의사소통을 위한 표준화된 객체지향 모델링 언어이다. UML 구성요소 - 사물 ( Things ) - 관계 ( Relationships ) - 다이어그램 ( Diagram ) 1) 사물 및 관계 [정보처리기사] UML (Unified Modeling Language)의 구성요소 ( 사물, 관계 ) UML이란 시스템 개발 과정 중 상호 간의 원활한 의사소통을 위한 표준화된 객체지향 모델링 언어이다. UML 구성요소 - 사물 ( Things ) - 관계 ( Relationships ) - 다이어그램 ( Diagram ) 1) 사물 ( Things ) -.. lordofkangs.tistory.com 2) 다이어그램 사물과 관계를 도형으로 표현한 것 2-1) 다..

[정보처리기사] UML (Unified Modeling Language)의 구성요소 ( 사물, 관계 )

UML이란 시스템 개발 과정 중 상호 간의 원활한 의사소통을 위한 표준화된 객체지향 모델링 언어이다. UML 구성요소 - 사물 ( Things ) - 관계 ( Relationships ) - 다이어그램 ( Diagram ) 1) 사물 ( Things ) - 구조 사물 : 개념적 물리적 요소 ( 클래스, 유스케이스 , 컴포넌트.. ) - 행동 사물 : 시간과 공간에 따라 요소들의 행위 표현 ( 상호작요, 상태머신 ) - 그룹 사물 : 요소들을 그룹으로 묶어 표현 ( 패키지 ) - 주해 사물 : 부가적인 설명이나 제약조건 ( 노트 ) 2) 관계 ( Relationshipis ) : 사물과 사물 사이의 연관성 표현 - 연관관계 ( Association ) 사물이 다른 사물에 접근하여 생성된 관계이다. 사람 사..

[정보처리기사] 요구사항 ( Requirement )

소프트웨어는 사용자의 요구를 충족시키기 위해서 개발된다. 소프트웨어는 어떤 문제를 해결할 것인지 어떤 제약사항이 있는지를 개발 전 미리 서술해야 하는데, 이것이 요구사항(Requirements)이다. ▷ 요구사항 종류 기능 요구사항 ( Functional Requirement ) - 기능이나 수행과 관련된 요구사항 비기능 요구사항 ( Non-Functional Requirement ) - 품질이나 제약사항과 관련된 요구사항 사용자 요구사항 ( User Requirements ) 사용자 관점에서 본 시스템이 제공해야 할 요구사항 ( 쉬움, 친숙함 ) 시스템 요구사항( System Requirements ) 개발자 관점에서 시스템이 사용자 및 다른 시스템에게 제공해야 할 요구사항 ( 전문적, 기술적 ) ▷ ..

[정보처리기사] 개발 기술 환경

운영체제 ( OS ) 컴퓨터 시스템의 자원을 효율적으로 관리 및 사용하도록 환경을 제공하는 소프트웨어 데이터베이스 관리 시스템 ( DBMS ) 사용자와 데이터베이스 사이에서 사용자의 요구에 따라 정보 생성을 하고 데이터베이스를 관리해주는 환경을 제공하는 소프트웨어 웹 어플리케이션 서버 ( WAS ) 사용자의 요구에 따라 변하는 동적인 콘텐츠를 처리하기 위한 미들웨어 *미들웨어 : 응용 프로그램에게 운영체제 서비스와 더불어, 추가적인 서비스를 제공하는 소프트웨어 오픈소스 누구나 제한 없이 사용 가능한 소스코드를 공개하는 소프트웨어

[정보처리기사] 소프트웨어 생명주기 (Software Life Cycle)

폭포수 모형 (Waterfall Model) 이전 단계로 돌아갈 수 없어 각 단계를 철저히 매듭짓고 다음단계로 진행하는 개발 방법 가장 오래되고 폭넓게 사용된 전통적인 소프트웨어 생명주기 모델 프로토타입 모델(Prototype Model) 실제 개발될 소프트웨어에 대한 견본품(Prototype)을 만들어 최종 결과물을 예측하는 모형 나선형 모형(Spiral Moder, 점진적 모형) 보헴(Bohem)이 제안 점진적으로 개발하는 모델 프로토타입 모형 + 프로토타입 모형 + 위험분석기능 추가 1) 계획 수립 2) 위험 분석 ( 개발할 기술의 위험 요소 및 관리 요소 분석 ) 3) 개발 및 검증 ( 분석을 토대로 개발 및 검증 ) 4) 고객 평가 ( 프로토타입 ) 애자일 모형(Agile Model) 요구사항 ..

[JAVA] 백준 1874번 스택 수열 : LIFO

1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 1. 문제 추상화 1부터 n까지 수로 이루어진 수열 A가 주어진다. 오름차순으로 스택에 push하여 수열A를 구현할 수 있는지 판별하시오. 구현이 불가능하면 NO를 출력하고 구현이 가능하면 어떤 과정을 통해 구현되는지 출력하시오. (push : '+' 출력, pop '-'출력' ) 2. 알고리즘 조건은 두 가지이다. 1. 스택을 사용하라. 2. 오름차순으로 push해라. 스택은 L..

문제풀이 2021.09.26

[JAVA] 백준 9012번 괄호 : 스택의 용도

9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 1. 문제 추상화 '(' 와 ')' 만으로 이루어진 문자열을 PS라 부른다. 그리고 괄호가 열리고 온전히 닫히는 PS를 VPS라 부른다. 주어진 PS 중 VPS를 구분하라. 2. 알고리즘 조금 고민했다. 그리고 한 가지 개념이 스쳐지나갔다. 바로 '스택(Stack)'이다. VPS는 두 가지 특성이 있다. 1. 나중에 열린 괄호가 먼저 닫혀야 한다. 2. 모든 열린 괄호는 닫혀야 한다. 1번은 LIFO의 특징이다. 그러므로 스택과 알..

문제풀이 2021.09.23

[JAVA] 백준 18870번 좌표압축 : HashMap (임의접근)

18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표의 개수와 같아야 한다. X1, X2, ..., XN에 좌 www.acmicpc.net 1. 문제 추상화 수열이 주어졌을 때 각각의 수보다 작은 서로 다른 수의 개수를 입력받은 순서대로 출력하시오. 2. 알고리즘 1. HashMap 조금 난해한 문제였다. 입력받은 순서대로 결과를 출력해야 했기에 원본용 배열과 정렬용 배열 두 가지를 만들었다. 그렇다보니 출력과정에서 두 개의 배열을 탐색해야했고 시간복잡도는 O(n2)이 되어 시간초과가 발생했다. 그래서 인터넷에서 방법을 찾던 중 HashMap 자료구조..

문제풀이 2021.09.12

[JAVA] 백준 10814번 나이순 정렬 : 단어정렬

1181번: 단어 정렬 첫째 줄에 단어의 개수 N이 주어진다. (1 ≤ N ≤ 20,000) 둘째 줄부터 N개의 줄에 걸쳐 알파벳 소문자로 이루어진 단어가 한 줄에 하나씩 주어진다. 주어지는 문자열의 길이는 50을 넘지 않는다. www.acmicpc.net 1. 문제 추상화 알파벳으로 이루어진 단어들을 길이가 짧은 순으로 정렬하시오. 길이가 같으면 알파벳 순으로 정렬하시오. 2. 알고리즘 1. HashSet 자료구조 예제를 보면 동일한 단어를 입력받으면 출력시, 중복을 제거해주는 것을 확인할 수 있다. 중복제거를 위해 HashSet 자료구조를 사용한다. 2. 정렬 알고리즘 Quick, Merge, Heap 정렬 알고리즘을 사용하였다. ( Bubble 정렬은 시간초과가 난다. ) [알고리즘] 퀵 정렬 (Q..

문제풀이 2021.09.07

[JAVA] 백준 11650번 좌표 정렬하기 : 이차원 배열

11650번: 좌표 정렬하기 첫째 줄에 점의 개수 N (1 ≤ N ≤ 100,000)이 주어진다. 둘째 줄부터 N개의 줄에는 i번점의 위치 xi와 yi가 주어진다. (-100,000 ≤ xi, yi ≤ 100,000) 좌표는 항상 정수이고, 위치가 같은 두 점은 없다. www.acmicpc.net 1. 문제 추상화 X좌표와 Y좌표가 주어질 때, X좌표의 내림차순으로 정렬하라. X좌표가 같으면 Y좌표의 내림차순으로 정렬하라. 2. 알고리즘 1. X좌표와 Y좌표를 저장할 수 있는 이차원 배열을 생성한다. 2. X좌표의 내림차순으로 비교하다가 X좌표가 같은 경우 Y좌표의 내림차순으로 비교하는 조건을 분기한다. 퀵정렬, 병합정렬, 힙정렬을 사용하였다. 버블정렬은 시간초과가 나고 카운팅정렬은 메모리초과가 났다. ..

문제풀이 2021.08.16