int[] arr=new int[5]
> 0 0 0 0 0
// 값넣을때
arr[2]=2
>0 0 2 0 0
ArrayList<Integer> arr=new ArrayList<>();
-> 초기 크기 설정 안해도 arrayList 내부에서 스스로 설정 (10)
//값 넣을때
arr.add(2);
>2
-> 보통 단순하게 최대값을 구하지 않기 때문에 난 잘 안이용함
최대값을 가진 인덱스나 앞과 뒤를 비교해서 누가 큰지 구하는 등 문제에서는 max 변수를 이용해 구한다.
int max = list[0];
for (int i = 1; i < n; i++) {
if (list[i] > max) {
max = list[i];
answer++;
}
}
//피보나치
ArrayList<Integer> arr = new ArrayList<>();
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
arr.add(1);
arr.add(1);
for (int i = 2; i < n; i++) {
arr.add(arr.get(i - 2) + arr.get(i - 1));
}
import java.util.*;
public class 소수 {
public static void main(String args[]) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int result = 0;
int[] list = new int[n + 1];
for (int i = 2; i <= n; i++) {
// 자기 자신으로만 나눠지는 수 2,3 ....
if (list[i] == 0) {
result++;//소수++
//범위 전까지 배수 찾음
for (int j = i; j <= n; j = j + i) {
list[j] = 1;
}
}
}
System.out.print(result);
sc.close();
}
}
// 특정 수 가 소수인지 아닌지 판별
public static boolean isPrime(int num) {
if (num == 1)
return false;
for (int i = 2; i < num; i++) {
if (num % i == 0) {
return false;
}
}
return true;
}
//가로
for (int i = 0; i < n; i++) {
int max = 0;
for (int j = 0; j < n; j++) {
arr[i][j] = sc.nextInt();
max += arr[i][j];
}
answer = Math.max(max, answer);
}
//세로
for (int i = 0; i < n; i++) {
int max = 0;
for (int j = 0; j < n; j++) {
max += arr[j][i];
}
answer = Math.max(answer, max);
}
//대각선
int max1 = 0;
int max2 = 0;
for (int i = 0; i < n; i++) {
max1 += arr[i][i];
max2 += arr[i][n - i - 1];
}
int[] dx = { 1, 0, -1, 0 };
int[] dy = { 0, -1, 0, 1 };
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
boolean flag = true;
for (int d = 0; d < 4; d++) {
int nx = i + dx[d];
int ny = j + dy[d];
if (nx >= 0 && nx < n && ny >= 0 && ny < n && arr[nx][ny] >= arr[i][j]) {
flag = false;
break;
}
}
if (flag) {
answer++;
}
}
}