전체 글199 이코테 - 음료수 얼려 먹기(DFS) 코드) public class Main{ static int N; // 세로길이(1이상) static int M; // 가로길이(1000이하) // 얼음틀의 형태 입력 public static int[][] ice_frame; // 구멍이 뚫려있는 노드에 인접한 모든 노드 방문처리 public static boolean dfs(int x,int y) { // 주어진 범위를 벗어나는 경우(ex. 해당노드의 우측을 검사했을경우 노드가 없을경우) if(x=N || y=M) return false; // 해당 노드의 상,하,좌,우에 구멍이 뚫려있는 노드가 있는지 검사 if(ice_frame[x][y] == 0) { // 노드 방문처리 ice_frame[x][y] = 1; // 해당 노드의 상,하,좌,우 를 재귀.. 2021. 1. 27. BFS,DFS BFS(Breadth First Search) : 가까운 노드부터 탐색하는 알고리즘으로 인접한 노드를 계속해서 큐에 집어넣는 방식이다. ( 선입선출 방식인 큐 자료구조 이용 ) // 방문한 노드여부를 나타냄 public static boolean[] visited = new boolean[9]; // 인접 리스트 방식으로 각 노드가 연결될 정보가 들어갈 graph 변수 선언 (2차원 리스트) public static ArrayList graph = new ArrayList(); // BFS 함수 정의 public static void bfs(int start) { // 왜 형변환을 해줘야되지?? Queue q = (Queue) new LinkedList(); q.offer(start); // 큐에 시작노.. 2021. 1. 27. 재귀함수 - 팩토리얼 // 팩토리얼 재귀 함수 public static int factorial_recursive(int n) { if(n 2021. 1. 26. 배열 vs 리스트 데이터 추가 시) - 배열은 기존에 인덱스에 있는 데이터를 변경하면 인덱스는 고정되고 인덱스에 해당되는 데이터만 변경됨 - 리스트의 경우는 기존에 있는 인덱스에 새로운 데이터를 넣으면 기존의 데이터는 한 칸 뒤로 밀려나감 List list = new ArrayList(); list.add(10); // 인덱스 0 list.add(20); // 인덱스 1 list.add(30); // 인덱스 2 for(int i=0;i 50을 넣음 , 인덱스 2에 있던 30은 인덱스3으로 밀려남 for(int i=0;i 인덱스가 있는 공간을 제거 X (사용하지 않는 인덱스가 남아있게됨) List list = new ArrayList(); list.add(10); // 인덱스 0 list.add(20); // 인덱스 1 l.. 2021. 1. 26. 이코테 - 게임개발 내가 푼 코드) Scanner sc = new Scanner(System.in); // 맵크기 n * m int n = sc.nextInt(); int m = sc.nextInt(); int[][] mapInfo = new int[n][m]; // 맵정보 char[][] check = new char[n][m]; // 기본칸인지 아닌지 판단 // 처음의 캐릭터 위치 (a,b) int a = sc.nextInt(); //북쪽으로부터 떨어진 칸의 개수 int b = sc.nextInt(); //서쪽으로부터 떨어진 칸의 개수 // 바라보는 방향(d) int d = sc.nextInt(); // 맵의 정보 입력 (육지 : 0 , 바다 : 1) for(int i=0;i 2021. 1. 26. 이코테 - 왕실의 나이트 내가 짠 코드) Scanner sc = new Scanner(System.in); // 나이트의 현재 위치 입력받기 String spot = sc.nextLine(); int col = 0; //열(수평) //입력한 문자에 따라 정수로 변환시켜줌 if(spot.charAt(0) == 'a') col = 1; if(spot.charAt(0) == 'b') col = 2; if(spot.charAt(0) == 'c') col = 3; if(spot.charAt(0) == 'd') col = 4; if(spot.charAt(0) == 'e') col = 5; if(spot.charAt(0) == 'f') col = 6; if(spot.charAt(0) == 'g') col = 7; if(spot.charAt(.. 2021. 1. 24. 이전 1 ··· 20 21 22 23 24 25 26 ··· 34 다음