1. ์์ฐ์ N์ด ์ ๋ ฅ๋๋ฉด 1๋ถํฐ N๊น์ง์ ์์์ ๊ฐ์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ง์ฝ 20์ด ์ ๋ ฅ๋๋ฉด 1๋ถํฐ 20๊น์ง์ ์์๋ 2, 3, 5, 7, 11, 13, 17, 19๋ก ์ด 8๊ฐ์ ๋๋ค.
์์๋ 1๊ณผ ์์ ์ผ๋ก๋ง ๋๋์ด์ง๋ ์ ์ ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก 2,3,4... ๋ฑ ์ ๋ฐฐ์๊ฐ ๋๋ฉด ์๋๊ฒ ์ฃ ! ์ฌ๊ธฐ์๋ int ๋ฐฐ์ด์ ํฌ๊ธฐ๋ก 0 ์ผ๋ count ๋๋๋ก ํ์ต๋๋ค.
2๋ฒ์งธ for๋ฌธ์์ j=j+1 ๋ก ๋ฐฐ์๋ค์ ์ฒดํฌ ํด์ฃผ์์ต๋๋ค. (์ฒดํฌํ ๋ฐฐ์ ๋งํผ๋ง for๋ฌธ์ ๋๋ค)
import java.util.Scanner;
public class Test2_05 {
public int solution(int number) {
int result = 0;
int[] ch = new int[number + 1];
for (int i = 2; i <= number; i++) {
// 2๋ ์์ ์ด๋ฏ๋ก ๋ฏธ๋ฆฌ ์ถ๊ฐ
if (ch[i] == 0) {
result++;
// ๋ฐฐ์๋ฅผ ๋๋ฉด์ ๊ฒ์ฌ
for(int j=i;j<=number;j=j+i){
ch[j] = 1;
}
}
}
return result;
}
public static void main(String[] args) {
Test2_05 main = new Test2_05();
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
System.out.println(main.solution(num));
}
}
2. N๊ฐ์ ์์ฐ์๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ ์์ฐ์๋ฅผ ๋ค์ง์ ํ ๊ทธ ๋ค์ง์ ์๊ฐ ์์์ด๋ฉด ๊ทธ ์์๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์๋ฅผ ๋ค์ด 32๋ฅผ ๋ค์ง์ผ๋ฉด 23์ด๊ณ , 23์ ์์์ด๋ค. ๊ทธ๋ฌ๋ฉด 23์ ์ถ๋ ฅํ๋ค. ๋จ 910๋ฅผ ๋ค์ง์ผ๋ฉด 19๋ก ์ซ์ํ ํด์ผ ํ๋ค.
์ฒซ ์๋ฆฌ๋ถํฐ์ ์ฐ์๋ 0์ ๋ฌด์ํ๋ค.
์์ฐ์๋ฅผ ๊ฑฐ๊พธ๋ก ๋ค์ง๋ ๋ฐฉ๋ฒ
1. ๊ฑฐ๊พธ๋ก ๋ค์ง์ ์์ฐ์์ ๋์๋ฆฌ ์๋ฅผ ๊ตฌํ๊ธฐ ์ํด %10 ์ ํด์ฃผ์ด ๋๋จธ์ง๋ฅผ ๊ตฌํ๋ค.
2. ๊ตฌํ ๋์๋ฆฌ ์๋ฅผ ๋งจ ์์ ๋๊ธฐ์ํด *10 ์ ํด์ฃผ์ด ์์นํ๋ค.
3. ๊ณ์ฐ๋ ํด๋น ์ซ์๋ฅผ ์๋ฅด๊ธฐ ์ํด /10์ ํด์ค๋ค.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public boolean isPrime(int num) {
if (num == 1) return false;
for (int i = 2; i < num / 2; i++) {
if (num % i == 0) return false;
}
return true;
}
public ArrayList<Integer> solution(int[] numberArray) {
ArrayList<Integer> result = new ArrayList<>();
for (int i = 0; i < numberArray.length; i++) {
int number = 0;
while (numberArray[i] > 0) {
number = number * 10 + numberArray[i] % 10;
numberArray[i] /= 10;
}
if (isPrime(number)) result.add(number);
}
return result;
}
public static void main(String[] args) {
Main main = new Main();
Scanner sc = new Scanner(System.in);
int number = sc.nextInt();
int[] numberArray = new int[number];
for (int i = 0; i < number; i++) {
numberArray[i] = sc.nextInt();
}
for (int x : main.solution(numberArray)) {
System.out.print(x + " ");
}
}
}
3. OX ๋ฌธ์ ๋ ๋ง๊ฑฐ๋ ํ๋ฆฐ ๋ ๊ฒฝ์ฐ์ ๋ต์ ๊ฐ์ง๋ ๋ฌธ์ ๋ฅผ ๋งํ๋ค.
์ฌ๋ฌ ๊ฐ์ OX ๋ฌธ์ ๋ก ๋ง๋ค์ด์ง ์ํ์์ ์ฐ์์ ์ผ๋ก ๋ต์ ๋งํ๋ ๊ฒฝ์ฐ์๋ ๊ฐ์ฐ์ ์ ์ฃผ๊ธฐ ์ํด์ ๋ค์๊ณผ ๊ฐ์ด ์ ์ ๊ณ์ฐ์ ํ๊ธฐ๋ก ํ์๋ค.
1๋ฒ ๋ฌธ์ ๊ฐ ๋ง๋ ๊ฒฝ์ฐ์๋ 1์ ์ผ๋ก ๊ณ์ฐํ๋ค. ์์ ๋ฌธ์ ์ ๋ํด์๋ ๋ต์ ํ๋ฆฌ๋ค๊ฐ ๋ต์ด ๋ง๋ ์ฒ์ ๋ฌธ์ ๋ 1์ ์ผ๋ก ๊ณ์ฐํ๋ค.
๋ํ, ์ฐ์์ผ๋ก ๋ฌธ์ ์ ๋ต์ด ๋ง๋ ๊ฒฝ์ฐ์์ ๋ ๋ฒ์งธ ๋ฌธ์ ๋ 2์ , ์ธ ๋ฒ์งธ ๋ฌธ์ ๋ 3์ , ..., K๋ฒ์งธ ๋ฌธ์ ๋ K์ ์ผ๋ก ๊ณ์ฐํ๋ค. ํ๋ฆฐ ๋ฌธ์ ๋ 0์ ์ผ๋ก ๊ณ์ฐํ๋ค.
์๋ฅผ ๋ค์ด, ์๋์ ๊ฐ์ด 10 ๊ฐ์ OX ๋ฌธ์ ์์ ๋ต์ด ๋ง์ ๋ฌธ์ ์ ๊ฒฝ์ฐ์๋ 1๋ก ํ์ํ๊ณ , ํ๋ฆฐ ๊ฒฝ์ฐ์๋ 0์ผ๋ก ํ์ํ์์ ๋,
์ ์ ๊ณ์ฐ์ ์๋ ํ์ ๊ฐ์ด ๊ณ์ฐ๋์ด, ์ด ์ ์๋ 1+1+2+3+1+2=10 ์ ์ด๋ค.
์ํ๋ฌธ์ ์ ์ฑ์ ๊ฒฐ๊ณผ๊ฐ ์ฃผ์ด์ก์ ๋, ์ด ์ ์๋ฅผ ๊ณ์ฐํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
0์ ๋ง๋ฌ์ ๋ ์ถ๊ฐ๋๋ ์ ์๋ฅผ 0์ผ๋ก ์ด๊ธฐํ ํด์ฃผ๊ธฐ ์ํ tmp๋ฅผ ๋ง๋ค์ด ๊ณ์ฐ ํ๋ค.
import java.util.Scanner;
public class Test2_07 {
public int solution(int[] numberArray) {
int result = 0;
int tmp = 0;
for (int i = 0; i < numberArray.length; i++) {
if (numberArray[i] == 1) {
tmp++;
result += tmp;
} else {
tmp = 0;
}
}
return result;
}
public static void main(String[] args) {
Test2_07 main = new Test2_07();
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] numArray = new int[num];
for (int i = 0; i < num; i++) {
numArray[i] = sc.nextInt();
}
System.out.println(main.solution(numArray));
}
}
4. N๋ช ์ ํ์์ ๊ตญ์ด์ ์๊ฐ ์ ๋ ฅ๋๋ฉด ๊ฐ ํ์์ ๋ฑ์๋ฅผ ์ ๋ ฅ๋ ์์๋๋ก ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๊ฐ์ ์ ์๊ฐ ์ ๋ ฅ๋ ๊ฒฝ์ฐ ๋์ ๋ฑ์๋ก ๋์ผ ์ฒ๋ฆฌํ๋ค.
์ฆ ๊ฐ์ฅ ๋์ ์ ์๊ฐ 92์ ์ธ๋ฐ 92์ ์ด 3๋ช ์กด์ฌํ๋ฉด 1๋ฑ์ด 3๋ช ์ด๊ณ ๊ทธ ๋ค์ ํ์์ 4๋ฑ์ด ๋๋ค.
1๋ฒ์งธ ์๋ถํฐ ์ฐจ๋ก๋๋ก ๋ค์ ์ซ์๋ฅผ ๋น๊ตํ์ฌ ์์ ๋ ๋ง๋ค +1 ์ ํด์ฃผ์ด ์์๋ฅผ ์ ํด์ result Array์ ๋ฃ์ด์ฃผ์์ต๋๋ค.
๋ฃ์ด์ค ํ์๋ ์ดํ ์๋ฅผ ๋น๊ต ํด์ผ ํ๊ธฐ ๋๋ฌธ์ 1๋ก ์ด๊ธฐํ ํ์ต๋๋ค.
import java.util.ArrayList;
import java.util.Scanner;
public class Test2_08 {
public ArrayList<Integer> solution(int[] numArray) {
ArrayList<Integer> result = new ArrayList<>();
int resultNumber = 1;
for (int i = 0; i < numArray.length; i++) {
for (int j = 0; j < numArray.length; j++) {
if (numArray[i] < numArray[j]) {
resultNumber++;
}
}
result.add(resultNumber);
resultNumber=1;
}
return result;
}
public static void main(String[] args) {
Test2_08 main = new Test2_08();
Scanner sc = new Scanner(System.in);
int num = sc.nextInt();
int[] numberArray = new int[num];
for (int i = 0; i < num; i++) {
numberArray[i] = sc.nextInt();
}
for (int x : main.solution(numberArray)) {
System.out.print(x + " ");
}
}
}
'์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
11์ 3์ผ 1๋ฌธ์ - Java : Array (0) | 2021.11.03 |
---|---|
10์ 29์ผ 1๋ฌธ์ - Java : Array (0) | 2021.10.29 |
10์ 20์ผ 4๋ฌธ์ - Java : Array (0) | 2021.10.20 |
10์ 17์ผ 2๋ฌธ์ - Java (0) | 2021.10.17 |
10์ 16์ผ 2๋ฌธ์ - Java (0) | 2021.10.16 |