본문 바로가기

미니 프로젝트5

알고리즘 - Blob 크기 구하기(재귀) 특점 지점에서 시작해서 연결되어있는 Blob의 크기가 얼마인지 구하는 메서드 이다. 문제를 작게 쪼개어서 보는것이 중요하다. public class CountCells { public static void main(String[] args) { System.out.println(countCells(1, 1)); } // 결과값은 17 private static int N = 8; private static int[][] grid = { {0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1, 0, 1}, {0, 0, 0, 1, 0, 0, 0, 1}, {0, 1, 0, 0, 1, 1, 0, 0}, {0, 1, 1, 1, 0, 0, 1, 1}, {0, 1, 0, 0, 0, 1, 0, .. 2023. 3. 22.
알고리즘 - 미로 출구찾기(재귀) int[][] 로 정의된 미로에서 특정 출발점에서 탈출 경로가 있는지 확인하는 메서드이다. 고려해야할 사항은 해당 경로의 방문여부와 해당 경로의 이웃한 칸들의 탈출 경로 유무이다. (재귀를 통해서 확인) 재귀는 탈출(종료) 조건을 지정해주는것이 중요하다는것을 다시한번 알 수 있는 코드였다. public class MazeCase { public static void main(String[] args) { System.out.println(findPath(0, 0)); } // 탈출할 수 있는 경로가 있으므로 true 리턴. private static int N = 8; private static int[][] maze = { {0, 0, 0, 0, 0, 0, 0, 1}, {0, 1, 1, 0, 1, 1,.. 2023. 3. 22.
TRPG게임 만들기 - 배열, 형변환(String -> int) 사용자로부터 자신과 상대방 캐릭터 정보를 입력받아 게임 결과를 출력하는 코드를 작성해보았다. 1. 게임에서 필요한 정보를 가진 캐릭터 클래스(객체) 정의 2. 자신과 상대방의 정보를 입력받아 출력 -> Scanner, 배열 활용 3. 한번 공격시 상대방 체력에서 (나의 공격력/상대방의 방어력)을 감소시키고, 상대방 체력이 0 이하이면 게임을 종료함 -> while 문 사용 단편적으로 기능 구현에 초점을 맞춰서 private 등 접근 제어자는 사용하지 않고 코드를 작성했다. 객체지향적인 코드 작성을 위해서는 필요한 부분을 캡슐화하고 getter, setter를 활용해 정보를 다루는 방식도 연습이 필요할 것 같다. [게임 캐릭터 클래스 및 관련 메서드 정의] package game; import java.u.. 2023. 3. 12.
글자 대체 프로그램 - 배열, for 반복문 사용자로부터 입력받은 문자열에 특정 단어가 있을경우 대체어로 변경하여 출력하는 코드를 작성해보았다. 1. 관리자 로그인 -> 입력한 아이디와 패스워드가 일치해야 다음 단계로 넘어가며 틀릴 경우 프로그램을 종료함 2. 문자열 입력받기 3. 해당 문자열에 특정 단어(이번 코드에서는 비속어)가 있을 경우 대체어로 변경하여 출력 import java.util.Arrays; import java.util.Scanner; public class YoutubeSub { // 관리자의 아이디와 비밀번호 선언 및 초기화. 변하지 않는 값이므로 final 설정. static final String id = "admin"; static final int pw = 0000; static String inputSub; stat.. 2023. 3. 11.
계산기 만들기 - switch, do-while, ArrayList 사용자로부터 두개의 숫자와 한개의 연산자를 입력받아 결과를 double 형으로 출력하는 간단한 계산기를 만들어보았다. 1. 두개의 숫자와 연산자를 차례로 입력받음 2. 잘못된 연산자를 입력받을 경우 잘못된 연산자임을 알려주고 다시 입력하도록 알림 -> 연산자를 요소로 갖는 ArrayList를 정의하고 입력한 값이 포함되어있지 않으면 오류 코드 출력 ( if 문을 사용한것보다 간결해짐) 3. 결과가 출력되고나면 계산을 계속할지 종료할지 물어보고 계산의 처음으로 돌아가거나 계산을 종료함 -> do-while문 사용 import java.util.Arrays; import java.util.Scanner; public class Calculator { public static void main(String[].. 2023. 3. 11.