본문 바로가기

Algo

(13)
[C언어] Tetris(테트리스) 게임 구현 C언어기반의 Tetris 게임을 구현했습니다. 기초 명세부터 잡기보다는 https://blog.naver.com/azure0777/220295388741([출처] [C언어 게임 만들기] 테트리스 게임 (Tetris)|작성자 azure0777) 참고해 부분 수정했습니다. JAVA로 공부하다 업무상 C언어를 주언어로 해 테스트겸 구현해 보았습니다. 포인터가 익숙하지 않아 구조체 반환형식으로 했는데 효율성 좋은 코드인지는 잘 모르겠네요,, 사진 코드 #include//표준 입출력 함수 헤더 #include//표준 유틸리티 함수 헤더 #include//윈도우 응용프로그램 헤더 #include//시간 관련 함수 헤더 #include//콘솔 입출력 함수 헤더 #define SIZE_X 11//게임 창 가로 크기 #..
4963: 섬의 개수 (그래프) import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { static int W, H; static int[] dx = { -1, 1, 0, 0, -1, -1, 1, 1 }; static int[] dy = { 0, 0, -1, 1, -1, 1, 1, -1 }; static int[][] arr; static boolean[][] visited; public static void main(String[] args) throws IOException { BufferedReader br = new Buff..
2573: 빙산 (구현) 풀이 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.LinkedList; import java.util.Queue; import java.util.StringTokenizer; public class Main { static int N, M; static int[][] map; static boolean[][] visited; static int[] dx = { -1, 1, 0, 0 }; // 상하좌우 static int[] dy = { 0, 0, -1, 1 }; // 상하좌우 public static void main(String[] args) th..
3190: 뱀 (구현) 풀이 보드의 크기만큼 2차원 int배열을 만들어주고 먼저 사과의 좌표값들을 큐에 모두 넣어준다. 또 초를 담을 1차원 int 배열 하나와 그에 따라 명령어를 담아둘 1차원 char 배열을 하나 만들어 명령어를 다 넣어두었다. (스터디 후에 생각해보건대 class개념으로 대체하면 더 편할 것 같다.) 도착지점은 끝 모서리로 1로 표시해두었다. 이후 0, 0에서 시작하여 체크하며 지나가는데 해당 시간이 지나면 명령어를 받아 방향을 틀어주게 하였다. 또한 사과를 먹을때 뱀의 길이가 늘어나는 걸 이용하기 위해 queue에 이동한 좌표를 담아 사과를 먹었다면 그 위치를 다시 넣어줌으로써 길이를 유지하게 하였다. 코드 import java.io.BufferedReader; import java.io.IOExcept..
2564: 경비원 (구현) 풀이 역시나 단순 무식하게 코드를 짜보았다. 동근이가 있는 위치에 따라 각 거리를 switch와 if문을 활용하여 모두 체크해주었다. 마지막에 다 더해주면 끝! 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); S..
8911: 거북이 (구현) 구현 단순무식하게 코드를 짜보았다. 거북이 처음위치를 0,0이라고 생각하고 왼쪽으로 간 최소의 x값, 오른쪽으로 간 최대의 x값, 위쪽으로 간 최대의 y값, 아래쪽으로 간 최소의 y값 중에 최소의 값들은 음수라면 절대값으로 바꿔 넓이를 구해 출력하게 해주었다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStrea..
11060: 점프점프 (DP) - 실패 풀이 뒤부터 체크해서 넘어가면 1로 설정하고 그 앞의 값은 해당하는 값만큼 앞의 수를 체크하는 방식으로 구현하였다. 하지만 모든 입출력에서 맞는데 왜 틀리는지는 잘모르겠음,, 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System..
2491: 수열 (DP) 풀이 연속해서 커지는 경우가 가장 긴 길이를 한번 체크하고 연속해서 작아지는 경우가 가장 긴 길이를 한번 체크해서 둘 중에 더 큰 길이의 값을 출력한다. 코드 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws NumberFormatException, IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N..