본문 바로가기

알고리즘

(42)
rook import java.util.Scanner; public class Main{ // 이해 -> 킹이 룩에 잡힐까 안잡힐까 // 입력 8곱하기 8 맵 (0->공백) (1->킹) (2->룩) (3->장애물) // 출력 킹이 룩에 잡히면 1, 룩에게 안 잡히면 0 // 1] 맵을 입력받는다. (1~8) (주변은 -1로 초기화하자) // 2] 킹의 좌표를 뽑는다. // 3] --> 가는길에 3만나면 break, -1 만나도 break, 2만나면1출력하고 종료 // 4]
maxofarr import java.util.Scanner; public class Main{ public static int[][] arr = new int[20][20]; public static void main(String[] args){ Scanner scan = new Scanner(System.in); inputMap(scan); int max=-1;int x=0;int y=0; for(int i=1;i
행렬뒤집기 import java.util.Scanner; public class Main{ // 1] 10곱하기10 크기 배열 // 2] 뒤집을게 1이면 0, 0이면 1로 만들어 // 3] 1행,1열 // 2행,2열 3행 3열 뒤집기 // // 입력] 뒤집기 횟수 1~10 // 출력] 맵 // 설계 // 1] arr[20][20] 만들어줌 // 2] n입력 받음 // 3] for(i=1~n) 돌림 // 4] for(j=1~10)arr[i][j]=1,0 arr[1][1] arr[1][2] arr[1][3] arr[1][4] ... arr[1][10] // 4] for(j=1~10)arr[j][i]=1,0 arr[1][1] arr[2][1] arr[3][1] arr[4][1] ... arr[10][1] // 4번에서는..
상자색 칠하기 import java.util.Scanner; public class Main{ // 입력] 종이 장 수 입력 // 입력] 각각 종이의 색깔 // 종이 장수는 1~1000, 색은 1~n 까지임, 만약 8이면 종이색은 1부터 8까지만 올 수 있다는 것. // 출력 되면 YES 안되면 No // 설계 // n이 5이하이면 No // // [1] n을 입력받는다. // [2] n만큼 반복문을 돌린다. // [3] paper[i]+=1; 한다. // [4] 다 끝나면 또 반복문을 돌리는데 2보다 큰 값들을 2로 만들어준다. // [5] 또 반복문 돌리는데 sum 이 6보다 작으면 노이고 갖거나 크면 예스다. public static int n; public static int[] paper = new int[1..
inequal import java.util.Scanner; import java.util.Arrays; public class Main{ // [이해] 부등호에 맞는 숫자열 출력,부등호에 들어가는 숫자는 0~9 // [입력] 부등호 개수, 부등호 // [출력] 부등호 관계만족하는 최대값, 최소값 // [설계] 최대값의 경우 (오름에서 내림으로 n개의 숫자에서 r개를 뽑되,출력하는 지점에서 기호를 검사해서 기호를 만족하는 경우에만 출력한다.) // [설계] 최소값의 경우 (내림에서 내림으로 n개의 숫자에서 r개를 뽑되,출력하는 지점에서 기호를 검사해서 기호를 만족하는 경우에만 출력한다.) public static void main(String[] args){ // [추가] 전역에 flag=false를 만든다. // [..
Class President import java.util.Scanner; import java.util.Arrays; public class Main{ // [이해] // 한번이라도 같은 반이었던 사람이 많은 사람을 반장으로 선출 // ex> 1번 학생, 2번 학생이랑 1,2,3,4,5 학년 같은 반 vs // 3번학생, 4번이랑 4학년때 같은 반, 5번이랑 5학년 때 같은 반 (이러면 3번 학생 회장) // [입력] // n명 학생 (arr[n][6]) // 1~5학년때까지 몇 반이었는지 입력 (arr[1][1] arr[1][2]...arr[1][5],arr[2][1]...arr[2][5]...arr[n][1]...arr[n][5]) // [설계] // for(i=1~N번 학생) // for(j=1~5 학년 때) // for(k..
Seat 설계보고 코드치다가, 사이즈 부분에서 고민하기 싫어서 배열 크기를 많이 주고 풀었다. import java.util.Scanner; public class Main{ public static int[][] arr; public static int sero; public static int garo; public static int target; public static int[] dx = new int[]{0,1,0,-1}; public static int[] dy = new int[]{1,0,-1,0}; public static void main(String[] args){ // 나선형 / 나선은 (1,1)에서 시작 (1,1~6)(2~7,6)(7,6~1)만나면 또 돌고 // (1,6) (2,6) (3,..
Offset 4방향 도는 부분에서 k를 기입했어야 하는데, i를 넣어서 처음에 정상실행이 안되었다. import java.util.Scanner; public class Main{ public static int[][] arr = new int[20][20]; //위,오른쪽,아래,왼쪽 public static int[] dx = new int[]{-1,0,1,0}; public static int[] dy = new int[]{0,1,0,-1}; public static void main(String[] args){ // 이해 (5x5) 배열이 주어짐(상하좌우에 있는 원소보다 작은 것 * 표시) // 존재하는 것만 비교한다. // 입력 (5x5) 행렬 // 출력 (별 표함된 행렬) // 설계 // v [1] 배열 생..