본문 바로가기

대표값 오답노트 최빈값 세는 부분 -> 잘못 설계함. 최빈값 세는 부분 설계 너무 대충함.시간안에 끝내려고...이러면 안된다. import java.util.Scanner; public class Main{ // 평균, 최빈값 구하는 문제 // 최빈값 둘 이상인 경우 앞에거 출력 // 열개 주어짐, 배열 열개짜리 // a[20] // v[1010] // sum // for(i 1~=10) a 입력 // sum+=a[i] // v[i]+=1; (1) ====> v[a[i]]+=1 로 설계했어야 // avg = sum/10; // cnt=0;idx=1; // for(i 1~=1000) // v[i]>cnt{idx=i} //idx 최빈값 public static int[] a = new int[20]; public ..
미로 탐색 dfs-> 오답, (반례 찾아야됨) import java.util.Scanner; import java.util.Queue; import java.util.LinkedList; /** * N×M크기의 배열로 표현되는 미로가 있다. * 미로에서 1은 이동할 수 있는 칸을 나타내고, 0은 이동할 수 없는 칸을 나타낸다. * 이러한 미로가 주어졌을 때, (1, 1)에서 출발하여 (N, M)의 위치로 이동할 때 지나야 하는 최소의 칸 수를 구하는 프로그램을 작성하시오. 한 칸에서 다른 칸으로 이동할 때, 서로 인접한 칸으로만 이동할 수 있다. 위의 예에서는 15칸을 지나야 (N, M)의 위치로 이동할 수 있다. 칸을 셀 때에는 시작 위치와 도착 위치도 포함한다. * [입력] * 첫째 줄에 두 정수 N, M(2 ..
유기농 배추 import java.util.ArrayList; import java.util.Scanner; public class Main { /** * 입력 *1]테스트케이스 *2]가로,세로 입력 (1~50) 배추가 심어져있는 위치 개수(1~2500) *다음 K줄에는 배추의 위치 X(0 ≤ X ≤ M-1), Y(0 ≤ Y ≤ N-1) *dfs 가 호출되는 갯수를 세자 * * 설계 * [1] 테스트케이스 입력 * [2] garo,sero * [3] a[sero][garo] 선언, v[sero][garo] dx[],dy[] * [4] k 배추 개수 17 * [5] for(0~k) * a[x][y]=1; * * for(i 0~sero) * for(j 0~garo) * 만약 v[i][j]=f 이고 a[i][j]=1이면 ..
중복없는구간 import java.util.Scanner; import java.util.ArrayList; public class Main{ public static int n; public static int[] arr; public static int[] v; public static void main(String[] args){ Scanner scan = new Scanner(System.in); n = scan.nextInt(); arr = new int[n+1]; v = new int[n+1]; for(int i=1;i
직사각형배치경우의수 dp문제 2*n 직사각형을 채우는 경우의 수는 끝에 타일이 '|' 인 경우와 '='인 경우 두가지 경우수를 합하는 것과 같다. import java.util.Scanner; public class Main{ // 입력 1~100(n) // 출력 가능한 경우를 1000007로 나눈 나머지 // 이해: 2*n 사각형을 2*n으로 채우는 것 public static int[] arr = new int[120]; public static void main(String[] args){ arr[2]=2; arr[3]=3; Scanner scan = new Scanner(System.in); int n = scan.nextInt(); if(n==1){System.out.println(1);return;} if(n==..
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번에서는..