2.1 ํฐ ์ ์ถ๋ ฅํ๊ธฐ
solution
import java.util.*;
class Main {
public ArrayList<Integer> solution(int n, int[] arr){
ArrayList<Integer> answer = new ArrayList<>();
answer.add(arr[0]);
for(int i=1; i<n; i++){
if(arr[i]>arr[i-1])
answer.add(arr[i]);
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i] = kb.nextInt();
}
for(int x : T.solution(n, arr)){
System.out.print(x+" ");
}
}
}
2.2 ๋ณด์ด๋ ํ์
solution
import java.util.*;
class Main {
public int solution(int n, int[] arr){
int answer=1; // ์ฒซ๋ฒ์งธ ์ฌ๋์ ๋ฌด์กฐ๊ฑด ๋ณด์ธ๋ค.
int max=arr[0];
for(int i=1; i<n; i++){
if(arr[i]>max) {
answer++;
max=arr[i];
}
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt(); // ํ์ ์ ์
๋ ฅ
int[] arr = new int[n]; // ํ์ ์ n ๋งํผ ํค ์
๋ ฅ
for(int i=0; i<n; i++){
arr[i] = kb.nextInt(); // arr ๋ฐฐ์ด์ ์์๋๋ก ์ ์ฅ
}
System.out.print(T.solution(n,arr));
}
}
2.3 ๊ฐ์ ๋ฐ์ ๋ณด
solution
import java.util.*;
class Main {
public String solution(int n,int[] a, int[] b){
String answer="";
for(int i=0; i<n; i++){
if(a[i]==b[i]) answer+="D";
else if(a[i]==1&&b[i]==3) answer+="A";
else if(a[i]==2&&b[i]==1) answer+="A";
else if(a[i]==3&&b[i]==2) answer+="A";
else answer+="B";
}
return answer;
}
public static void main(String[] args) {
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int[] a=new int[n];
int[] b=new int[n];
for(int i=0; i<n; i++){
a[i]=kb.nextInt();
}
for(int i=0; i<n; i++){
b[i]=kb.nextInt();
}
for(char x : T.solution(n,a,b).toCharArray()) // ์ถ๋ ฅํ์
System.out.println(x);
}
}
2.4 ํผ๋ณด๋์น ์์ด
solution
import java.util.*;
class Main {
public int[] solution(int n){
int[] answer=new int[n];
answer[0]=1;
answer[1]=1;
for(int i=2; i<n; i++){
answer[i]=answer[i-2]+answer[i-1];
}
return answer;
}
public static void main(String[] args) {
Main T=new Main();
Scanner kb=new Scanner(System.in);
int n = kb.nextInt();
for(int x : T.solution(n))
System.out.print(x+" ");
}
}
2.5 ์์(์๋ผํ ์คํ ๋ค์ค ์ฒด)
solution
(์ข์ ์ฝ๋ ... ์ดํดํ๋๋ฐ ์ข ๊ฑธ๋ ธ๋ค)
import java.util.Scanner;
public class Main {
public int solution(int n){
int answer=0;
int[] ch=new int[n+1]; // ๋ชจ๋ ๋ฐฐ์ด 0 ์ผ๋ก ๋์ ํ ๋น
for(int i=2; i<=n; i++){ // ๊ฐ์ฅ ์์ ์์ 2๋ถํฐ ์์ํด์ ์์๋ฅผ count
if(ch[i]==0){ // 0 ์ด๋ฉด ์์
answer++;
for(int j=i; j<=n; j=j+i) // j๋ i์ ๋ฐฐ์๋ก ์ฆ๊ฐ,๋ฐ๋ณต
ch[j]=1; // ์์๊ฐ ์๋ = 1
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb=new Scanner(System.in);
int n=kb.nextInt();
System.out.print(T.solution(n));
}
}
2.6 ๋ค์ง์ ์์
solution
import java.util.Scanner;
import java.util.*;
public class Main {
public boolean isPrime(int num) { // ์์์ธ์ง ํ์ธ
if(num==1) return false;
for(int i=2; i<num; i++){
if(num%i==0) return false;// ์ฝ์๊ฐ ์กด์ฌํ๋ฉด
}
return true;
}
public ArrayList<Integer> solution(int n, int[] arr){
ArrayList<Integer> answer= new ArrayList<>();
for(int i=0; i<n; i++){
int tmp=arr[i];
int res=0;
while(tmp>0){ // tmp ๋ค์ง๋
int t=tmp%10;
res=res*10+t;
tmp=tmp/10;
}
if(isPrime(res)) answer.add(res);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb=new Scanner(System.in);
int n=kb.nextInt(); // ์์ฐ์์ ๊ฐ์
int[] arr=new int[n];
for(int i=0; i<n; i++){
arr[i]=kb.nextInt();
}
for(int x: T.solution(n, arr)){
System.out.print(x+ " ");
}
}
}
2.7 ์ ์๊ณ์ฐ
solution
import java.util.Scanner;
public class Main {
public int solution(int n, int[] arr){
int answer=0, cnt = 0;
for(int i=0; i<arr.length; i++) {
if (arr[i] == 1) {
cnt++;
answer += cnt;
} else
cnt = 0;
}
return answer;
}
public static void main(String[] args){
Main T= new Main();
Scanner kb= new Scanner(System.in);
int n = kb.nextInt();
int[] arr= new int[n];
for(int i=0; i<n; i++){
arr[i]=kb.nextInt();
}
System.out.print(T.solution(n, arr));
}
}
2.8 ๋ฑ์๊ตฌํ๊ธฐ
solution
import java.util.Scanner;
public class Main {
public int[] solution(int n, int[] arr){
int[] answer = new int[n];
for(int i=0; i<n; i++){
int cnt=1;
for(int j=0; j<n; j++){
if(arr[j]>arr[i]) cnt++;
}
answer[i]=cnt;
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[] arr = new int[n];
for(int i=0; i<n; i++){
arr[i]=kb.nextInt();
}
for(int x : T.solution(n,arr))
System.out.print(x+" ");
}
}
2.9 ๊ฒฉ์ํ ์ต๋ํฉ
solution
import java.util.Scanner;
public class Main {
public int solution(int n, int[][] arr){
int answer=Integer.MIN_VALUE; // ์ต๋๊ฐ ์ฐพ์์ผํ๋๊น ๊ฐ์ฅ ์์๊ฑธ๋ก ์ด๊ธฐํ
int sum1, sum2; // ํ์ ํฉ , ์ด์ ํฉ
for(int i=0; i<n; i++){
sum1=sum2=0; // ํญ์ ์ด๊ธฐํ
for(int j=0; j<n; j++){
sum1+=arr[i][j]; // i๊ฐ ๊ณ ์ ์ผ๋ j์ ์ํ ํฉ = ํ์ ํฉ
sum2+=arr[j][i]; // j๊ฐ ์ํ์ผ๋ i๊ฐ ๊ณ ์ ํฉ = ์ด์ ํฉ
}
answer=Math.max(answer, sum1);
answer=Math.max(answer, sum2);
} // ํ๊ณผ ์ด MAX ์ข
๋ฃ
sum1=sum2=0;
for(int i=0; i<n; i++){
sum1+=arr[i][i]; // ์ผ์ชฝ๋๊ฐ์ : ํ๊ณผ ์ด์ ๋ฒํธ๊ฐ ๊ฐ๋ค.
sum2+=arr[i][n-i-1]; // ์ฐ์ธก๋๊ฐ์
}
answer=Math.max(answer,sum1);
answer=Math.max(answer,sum2);
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[][] arr = new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
arr[i][j]=kb.nextInt();
}
}
System.out.print(T.solution(n,arr));
}
}
2.10 ๋ด์ฐ๋ฆฌ
solution
import java.util.Scanner;
public class Main {
int[] dx={-1,0,1,0};
int[] dy={0,1,0,-1};
public int solution(int n, int[][] arr){
int answer=0;
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
boolean flag=true; // ๋ด์ฐ๋ฆฌ ํ๋ณ boolean
for(int k=0; k<4; k++){
int nx=i+dx[k];
int ny=j+dy[k];
/* ์์์ ๋ฏธ๋ฆฌ ๊ฒฝ๊ณ์ ๊ฑธ๋ฌ๋ด์ผ ํจ */
if(nx>=0 && nx<n && ny>=0 && ny<n && arr[nx][ny]>=arr[i][j]){ // ๊ฒฝ๊ณ์ ์ฒ๋ฆฌ
flag=false;
break;
}
}
if(flag) answer++;
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
int[][] arr = new int[n][n];
for(int i=0; i<n; i++){
for(int j=0; j<n; j++){
arr[i][j]=kb.nextInt();
}
}
System.out.print(T.solution(n,arr));
}
}
2.11 ์์๋ฐ์ฅ ์ ํ๊ธฐ
2.12 ๋ฉํ ๋ง
'๐ ์ฝ๋ฉํ ์คํธ > Inflearn' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์น์ 6. Sorting and Searching(์ ๋ ฌ, ์ด๋ถ๊ฒ์๊ณผ ๊ฒฐ์ ์๊ณ ๋ฆฌ์ฆ) (0) | 2022.12.07 |
---|---|
์น์ 5. Stack, Queue(์๋ฃ๊ตฌ์กฐ) (0) | 2022.10.16 |
์น์ 4. HashMap, TreeSet ( ํด์ฌ, ์ ๋ ฌ์ง์ Set ) (0) | 2022.09.28 |
์น์ 3. Two points, Sliding window[ํจ์จ์ฑ : O(n^2)-->O(n)] (0) | 2022.09.16 |
์น์ 1. String(๋ฌธ์์ด) (0) | 2022.08.29 |