ex017
μ€λͺ
μμ°μ Nμ΄ μ λ ₯λλ©΄ 1λΆν° NκΉμ§μ μμμ κ°μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
λ§μ½ 20μ΄ μ λ ₯λλ©΄ 1λΆν° 20κΉμ§μ μμλ 2, 3, 5, 7, 11, 13, 17, 19λ‘ μ΄ 8κ°μ λλ€.
μ λ ₯
첫 μ€μ μμ°μμ κ°μ N(2<=N<=200,000)μ΄ μ£Όμ΄μ§λλ€.
μΆλ ₯
첫 μ€μ μμμ κ°μλ₯Ό μΆλ ₯ν©λλ€.
μμ μ λ ₯ 1
20
μμ μΆλ ₯ 1
8
λ΅μ
import java.util.Scanner;
public class Ex017 {
public int solution(int n) {
//νμ΄
//ch = new int(n+1).. ch[0]=2λΆν° μμν¨
//μμ λ§λ λλ§λ€ answer++
//2μ λ°°μ 체ν¬
//3μ λ°°μ 체ν¬
//5μ λ°°μ 체ν¬
//7μ λ°°μ 체ν¬
int answer = 0;
int[] ch = new int[n+1]; //λ°°μ΄ μ΄κΈ°ν > 0μΌλ‘ μ΄κΈ°ν
for(int i=2; i<=n; i++) {
if(ch[i]==0) {
answer++;
for(int j=i; j<=n; j=j+i) ch[j]=1; //jκ° iμ λ°°μλ‘ λμμΌν΄μ iμ© μ¦κ°
}
}
return answer;
}
public static void main(String[] args) {
Ex017 T = new Ex017();
Scanner kb = new Scanner(System.in);
int n = kb.nextInt();
System.out.println(T.solution(n));
}
}
ex018
μ€λͺ
Nκ°μ μμ°μκ° μ λ ₯λλ©΄ κ° μμ°μλ₯Ό λ€μ§μ ν κ·Έ λ€μ§μ μκ° μμμ΄λ©΄ κ·Έ μμλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
μλ₯Ό λ€μ΄ 32λ₯Ό λ€μ§μΌλ©΄ 23μ΄κ³ , 23μ μμμ΄λ€. κ·Έλ¬λ©΄ 23μ μΆλ ₯νλ€. λ¨ 910λ₯Ό λ€μ§μΌλ©΄ 19λ‘ μ«μν ν΄μΌ νλ€.
첫 μ리λΆν°μ μ°μλ 0μ 무μνλ€.
μ λ ₯
첫 μ€μ μμ°μμ κ°μ N(3<=N<=100)μ΄ μ£Όμ΄μ§κ³ , κ·Έ λ€μ μ€μ Nκ°μ μμ°μκ° μ£Όμ΄μ§λ€.
κ° μμ°μμ ν¬κΈ°λ 100,000λ₯Ό λμ§ μλλ€.
μΆλ ₯
첫 μ€μ λ€μ§μ μμλ₯Ό μΆλ ₯ν©λλ€. μΆλ ₯μμλ μ λ ₯λ μμλλ‘ μΆλ ₯ν©λλ€.
μμ μ λ ₯ 1
9
32 55 62 20 250 370 200 30 100
μμ μΆλ ₯ 1
23 2 73 2 3
λ΅μ
import java.util.ArrayList;
import java.util.Scanner;
public class Ex018 {
public boolean isPrime(int num) {
if(num==1) return false;
for(int i=2; i<num; i++) { //2λΆν° μκΈ°μμ μ κΉμ§ λ€ λλ λ΄
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) {
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) {
Ex018 T = new Ex018();
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 + " ");
}
}
}
*μ«μ λ€μ§κΈ°
//μ«μ λ€μ§κΈ°
//tmp (λ€μ§μ μ)
//res (λ€μ§μ κ²°κ³Ό)
//res = res*10 + t
//t = tmp % 10
for(int i=0; i<n; i++) {
int tmp = arr[i];
int res = 0;
while(tmp>0) {
int t = tmp%10;
res = res*10+t;
tmp = tmp/10;
}
// μ½λ μ€λͺ
// tmp : λ€μ§μ μ«μ
// res : λ€μ§μ κ²°κ³Όλ₯Ό μ μ₯ν λ³μ
// while 루νλ₯Ό μ¬μ©νμ¬ μ£Όμ΄μ§ μ«μλ₯Ό λ€μ§λλ€. 쑰건 tmp > 0λ μ£Όμ΄μ§ μ«μκ° μμ§ λ€μ§μ μλ¦Ώμκ° λ¨μμμ λκΉμ§ λ°λ³΅μ μλ―Ένλ€
// tmp % 10μ μ£Όμ΄μ§ μ«μ tmpμ μΌμ μ리 μ«μλ₯Ό ꡬνλ€. μ΄ μΌμ μ리 μ«μλ₯Ό tλΌλ λ³μμ μ μ₯
// resμ νμ¬κΉμ§ λ€μ§νμ§ μ«μμ 10μ κ³±νκ³ tλ₯Ό λν΄μ€λ€. μ΄λ κ² νλ©΄ κΈ°μ‘΄μ λ€μ§ν μ«μμ μλ‘μ΄ μΌμ μ리 μ«μκ° μΆκ°λ¨
// λ§μ§λ§μΌλ‘, tmpλ₯Ό 10μΌλ‘ λλμ΄ λ€μ μλ¦Ώμλ₯Ό μ€λΉ. μλ₯Ό λ€μ΄, μλ μ«μκ° 1234μλ€λ©΄ tmpλ μ΄μ 123μ΄ λ¨
// μ΄ κ³Όμ μ κ³μ λ°λ³΅νλ©΄μ tmpκ° 0λ³΄λ€ μμμ§ λκΉμ§ 루νκ° μ€νλ©λλ€. κ·Έλ κ² λλ©΄ resμλ μ£Όμ΄μ§ μ«μκ° λ€μ§νμ μ μ₯λκ² λ©λλ€.
Ex022
μ€λͺ
μ§λ μ λ³΄κ° N*N 격μνμ μ£Όμ΄μ§λλ€. κ° κ²©μμλ κ·Έ μ§μμ λμ΄κ° μ°μ¬μμ΅λλ€.
κ° κ²©μνμ μ«μ μ€ μμ μ μνμ’μ° μ«μλ³΄λ€ ν° μ«μλ λ΄μ°λ¦¬ μ§μμ λλ€. λ΄μ°λ¦¬ μ§μμ΄ λͺ κ° μλ μ§ μμλ΄λ νλ‘κ·Έλ¨μ μμ±νμΈμ.
격μμ κ°μ₯μ리λ 0μΌλ‘ μ΄κΈ°ν λμλ€κ³ κ°μ νλ€.
λ§μ½ N=5 μ΄κ³ , 격μνμ μ«μκ° λ€μκ³Ό κ°λ€λ©΄ λ΄μ°λ¦¬μ κ°μλ 10κ°μ λλ€.

μ λ ₯
첫 μ€μ μμ°μ Nμ΄ μ£Όμ΄μ§λ€.(2<=N<=50)
λ λ²μ§Έ μ€λΆν° Nμ€μ κ±Έμ³ κ° μ€μ Nκ°μ μμ°μκ° μ£Όμ΄μ§λ€. κ° μμ°μλ 100μ λμ§ μλλ€.
μΆλ ₯
λ΄μ°λ¦¬μ κ°μλ₯Ό μΆλ ₯νμΈμ.
μμ μ λ ₯ 1
5
5 3 7 2 3
3 7 1 6 1
7 2 5 3 4
4 3 6 4 1
8 7 3 5 2
μμ μΆλ ₯ 1
10
λ΅μ
import java.util.*;
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;
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));
}
}
Ex023
μ€λͺ
κΉκ°λ μ μλμ μ¬ν΄ 6νλ 1λ° λ΄μμ λ§‘κ² λμλ€.
κΉκ°λ μ μλμ μ°μ μμλ‘ λ°μ₯μ μ νκ³ νμλ€μ΄ μλ‘ μΉμν΄μ§ νμ μ μμΌλ‘ μ κ±°λ₯Ό ν΅ν΄ λ°μ₯μ μ μΆνλ €κ³ νλ€.
κ·Έλ μκΈ°λ° νμ μ€μμ 1νλ λΆν° 5νλ κΉμ§ μ§λ΄μ€λ©΄μ νλ²μ΄λΌλ κ°μ λ°μ΄μλ μ¬λμ΄ κ°μ₯ λ§μ νμμ μμ λ°μ₯μΌλ‘ μ νλ € νλ€.
κ·Έλμ κΉκ°λ μ μλμ κ° νμλ€μ΄ 1νλ λΆν° 5νλ κΉμ§ λͺ λ°μ μνμλμ§λ₯Ό λνλ΄λ νλ₯Ό λ§λ€μλ€.
μλ₯Ό λ€μ΄ νμ μκ° 5λͺ μΌ λμ νλ₯Ό μ΄ν΄λ³΄μ.

μ κ²½μ°μ 4λ² νμμ 보면 3λ² νμκ³Ό 2νλ λ κ°μ λ°μ΄μκ³ , 3λ² νμ λ° 5λ² νμκ³Ό 3νλ λ κ°μ λ°μ΄μμΌλ©°,
2λ² νμκ³Όλ 4νλ λ κ°μ λ°μ΄μμμ μ μ μλ€. κ·Έλ¬λ―λ‘ μ΄ νκΈμμ 4λ² νμκ³Ό νλ²μ΄λΌλ
κ°μ λ°μ΄μλ μ¬λμ 2λ² νμ, 3λ² νμκ³Ό 5λ² νμμΌλ‘ λͺ¨λ 3λͺ μ΄λ€.
μ΄ μμμ 4λ² νμμ΄ μ 체 νμ μ€μμ κ°μ λ°μ΄μλ νμ μκ° μ μΌ λ§μΌλ―λ‘ μμ λ°μ₯μ΄ λλ€.
κ° νμλ€μ΄ 1νλ λΆν° 5νλ κΉμ§ μνλ λ°μ΄ μ£Όμ΄μ§ λ, μμ λ°μ₯μ μ νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
첫째 μ€μλ λ°μ νμ μλ₯Ό λνλ΄λ μ μκ° μ£Όμ΄μ§λ€. νμ μλ 3 μ΄μ 1000 μ΄νμ΄λ€.
λμ§Έ μ€λΆν°λ 1λ² νμλΆν° μ°¨λ‘λλ‘ κ° μ€λ§λ€ 1νλ λΆν° 5νλ κΉμ§ λͺ λ°μ μνμλμ§λ₯Ό λνλ΄λ 5κ°μ μ μκ° λΉμΉΈ νλλ₯Ό μ¬μ΄μ λκ³ μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ λͺ¨λ 1 μ΄μ 9 μ΄νμ μ μμ΄λ€.
μΆλ ₯
첫 μ€μ μμ λ°μ₯μΌλ‘ μ ν΄μ§ νμμ λ²νΈλ₯Ό μΆλ ₯νλ€.
λ¨, μμ λ°μ₯μ΄ λ μ μλ νμμ΄ μ¬λ¬ λͺ μΈ κ²½μ°μλ κ·Έ μ€ κ°μ₯ μμ λ²νΈλ§ μΆλ ₯νλ€.
μμ μ λ ₯ 1
5
2 3 1 7 3
4 1 9 6 8
5 5 2 4 4
6 5 2 6 7
8 4 2 2 2
μμ μΆλ ₯ 1
4
λ΅μ
import java.util.*;
class Main {
public int solution(int n, int[][] arr){
int answer=0, max=0;
for(int i=1; i<=n; i++){
int cnt=0;
for(int j=1; j<=n; j++){
for(int k=1; k<=5; k++){
if(arr[i][k]==arr[j][k]){
cnt++;
break;
}
}
}
if(cnt>max){
max=cnt;
answer=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+1][6];
for(int i=1; i<=n; i++){
for(int j=1; j<=5; j++){
arr[i][j]=kb.nextInt();
}
}
System.out.print(T.solution(n, arr));
}
}
Ex024
μ€λͺ
νμλ€ λ° μ μλμ λ° νμλ€μ μνμ μλ₯Ό ν₯μμν€κΈ° μν΄ λ©ν λ§ μμ€ν μ λ§λ€λ €κ³ ν©λλ€.
λ©ν λ§μ λ©ν (λμμ£Όλ νμ)μ λ©ν°(λμμ λ°λ νμ)κ° ν μ§μ΄ λμ΄ λ©ν κ° λ©ν°μ μν곡λΆλ₯Ό λμμ£Όλ κ²μ λλ€.
μ μλμ Mλ²μ μνν μ€νΈ λ±μλ₯Ό κ°μ§κ³ λ©ν μ λ©ν°λ₯Ό μ ν©λλ€.
λ§μ½ Aνμμ΄ λ©ν μ΄κ³ , Bνμμ΄ λ©ν°κ° λλ μ§μ΄ λμλ€λ©΄, Aνμμ Mλ²μ μνν μ€νΈμμ λͺ¨λ Bνμλ³΄λ€ λ±μκ° μμμΌ ν©λλ€.
Mλ²μ μνμ±μ μ΄ μ£Όμ΄μ§λ©΄ λ©ν μ λ©ν°κ° λλ μ§μ λ§λ€ μ μλ κ²½μ°κ° μ΄ λͺ κ°μ§ μΈμ§ μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμΈμ.
μ λ ₯
첫 λ²μ§Έ μ€μ λ° νμ μ N(1<=N<=20)κ³Ό M(1<=M<=10)μ΄ μ£Όμ΄μ§λ€.
λ λ²μ§Έ μ€λΆν° Mκ°μ μ€μ κ±Έμ³ μνν μ€νΈ κ²°κ³Όκ° νμλ²νΈλ‘ μ£Όμ΄μ§λ€. νμλ²νΈκ° μ μΌ μμμλΆν° 1λ±, 2λ±, ...Nλ± μμΌλ‘ ννλλ€.
λ§μ½ ν μ€μ N=4μ΄κ³ , ν μ€νΈ κ²°κ³Όκ° 3 4 1 2λ‘ μ λ ₯λμλ€λ©΄ 3λ² νμμ΄ 1λ±, 4λ² νμμ΄ 2λ±, 1λ² νμμ΄ 3λ±, 2λ² νμμ΄ 4λ±μ μλ―Έν©λλ€.
μΆλ ₯
첫 λ²μ§Έ μ€μ μ§μ λ§λ€ μ μλ μ΄ κ²½μ°λ₯Ό μΆλ ₯ν©λλ€.
μμ μ λ ₯ 1
4 3
3 4 1 2
4 3 2 1
3 1 4 2
μμ μΆλ ₯ 1
3
ννΈ
μΆλ ₯μ€λͺ
(3, 1), (3, 2), (4, 2)μ κ°μ΄ 3κ°μ§ κ²½μ°μ (λ©ν , λ©ν°) μ§μ λ§λ€ μ μλ€.
λ΅μ
import java.util.*;
class Main {
public int solution(int n, int m, int[][] arr){
int answer=0;
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++){
int cnt=0;
for(int k=0; k<m; k++){
int pi=0, pj=0;
for(int s=0; s<n; s++){
if(arr[k][s]==i) pi=s;
if(arr[k][s]==j) pj=s;
}
if(pi<pj) cnt++;
}
if(cnt==m){
answer++;
//System.out.println(i+" "+j);
}
}
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int m=kb.nextInt();
int[][] arr=new int[m][n];
for(int i=0; i<m; i++){
for(int j=0; j<n; j++){
arr[i][j]=kb.nextInt();
}
}
System.out.print(T.solution(n, m, arr));
}
}
'νλ‘κ·Έλλ° κ³΅λΆ > μ½ν ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[μΈνλ°] Queue, Stack μ€λ΅νμ΄ (0) | 2023.09.22 |
---|---|
[μΈνλ°] Two Pointers μ€λ΅νμ΄ (0) | 2023.09.13 |
[μΈνλ°] String μ€λ΅νμ΄ (0) | 2023.08.19 |