전체 글(121)
-
소프트웨어 개발 방법론 - 애자일(Agile)
Agile - 날렵한, 민첩한, 재빠른 기민한 애자일 프로세스 모델 고객의 요구에 민첩하게 대응하고 그때 그때 주어지는 문제를 풀어나가는 방법론 짧은 주기의 개발 단위를 반복하여 하나의 큰 프로젝트를 완성해 나가는 방식 설계 - 개발 - 평가의 단위를 반복 문서를 통한 개발이 아닌 일정 주기를 가지고 실질적인 코딩을 통해 개발을 진행하며 그때 그때 필요한 요구를 더하고 수정하며 진행하는 방법 하나의 개발 문화 개발자, 기획자, 테스터 등 모두가 whole team! + 반복적인 것들을 자동화 해줄 시스템들 필요 배경 무 계획 개발과 지나치게 많은 계획을 가진 개발 방법들 사이에서 타협점을 찾음 무 계획 개발: 개발 기간, 비용, 인력 등 앞으로 일을 예측하기 어려움, 문서화 되지 않아 추후 관리가 어려울..
2022.03.10 -
BOJ_11724_연결 요소의 개수
1 구분: 그래프 이론, 그래프 탐색, BFS, DFS 언어: Java 전략 그래프들의 연결 관계를 인접 리스트를 이용하여 표현한다 - Node클래스 생성, Node배열 생성 노드 1번 부터 BFS를 통해 차례로 방문을 한다 - 방문 여부 체크 2. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main{ //연결 리스트로 그래프를 받을 예정 static class Node{ int node; //노드 자체 Node link;//연결된 것 Node(int node, Node link){ this.node = node; this.link = link; } } public static ..
2021.12.15 -
BOJ_1012_유기농 배추
1 구분: 그래프 이론, 그래프 탐색, DFS, BFS 언어: Java 전략 배추의 인접한 부분을 묶어, 전체 덩어리의 개수를 구한다 배추가 있다면 그 부분을 깊이 우선 탐색을 통해 인접한 배추들을 구한다 이미 방문한 배추는 또 방문하지 않는다 2. 코드 import java.util.LinkedList; import java.util.Queue; import java.util.Scanner; public class Main { static int X, Y; static boolean[][] visit; //지렁이 방문 여부를 나타냄 static int[][] map; //배추 밭 //좌표를 담을 class생성 static class Node{ int y, x; Node(int y, int x){ thi..
2021.12.15 -
BOJ_14620_꽃길
1 구분: 브루트포스 알고리즘 언어: Java 전략: 꽃밭의 정보를 담는 class 생성, 이를 ArrayList에 보관(조합에 유리) 꽃밭에서 3 자리를 조합으로 선정 각 자리에 꽃잎을 두었을 때, 겹치거나 범위가 나가는지 확인 꽃이 놓인 자리의 땅 값을 계산 최소 비용을 갱신하며 구해 2. 코드 import java.util.ArrayList; import java.util.Scanner; public class Main { static int[][] map;//전체 가격을 담을 배열 static int n, min; //좌표, 가격을 담을 class static class Place{ int x, y, cost; Place(int y, int x, int cost){ this.y = y; this...
2021.12.10 -
Chapter 4: Threads
본 게시글은 Operating System Concepts - 9th Edition(공룡책)을 바탕으로 쓰여졌습니다 목표 thread의 개념 소개 Pthread, Windows, Java thread 라이브러리 implicit threading multithreaded programming 관련 문제 Windows 와 Linux의 threads Thread 실행 흐름 CPU의 기본 단위 멀티스레드 컴퓨터 시스템의 기본 대부분 applications은 멀티스레드 스레드는 application 안에서 작동 스레드 생성은 프로세스 생성에 비해 가벼움 코드를 간결화하고, 효율성을 높임 kernels은 일반적으로 멀티스레드 Multithreaded Server Architecure Benefits 책임감(resp..
2021.12.10 -
BOJ_16439_치킨치킨치킨
1 구분: 부르트포스 언어: Java 전략: 치킨 3가지 종류를 선택한다(조합) 각 사람별로 선택된 치킨 중 가장 선호도가 큰 것을 고른다 선택된 각 선호도를 더한 값을 계속 매 조합마다 최대값으로 갱신한다 2. 코드 import java.util.Scanner; public class Main { static int m, n; //치킨 종류 m, 사람 수 n static int[][] chicken; //사람마다 치킨의 선호도들을 담을 배열 static int max; public static void main(String[] args) { Scanner scanner = new Scanner(System.in); n = scanner.nextInt(); m = scanner.nextInt(); chi..
2021.12.07