Bibi's DevLog ๐ค๐
[Java] ๋ฐฑ์ค 2920๋ฒ '์๊ณ' ๋ฌธ์ ํ์ด - ๋ฐฐ์ด ์ ๋ ฅ, ์ ์ฅ, ์ถ๋ ฅ / ๋ ๋ฐฐ์ด ๋น๊ต ๋ณธ๋ฌธ
[Java] ๋ฐฑ์ค 2920๋ฒ '์๊ณ' ๋ฌธ์ ํ์ด - ๋ฐฐ์ด ์ ๋ ฅ, ์ ์ฅ, ์ถ๋ ฅ / ๋ ๋ฐฐ์ด ๋น๊ต
๋น๋น bibi 2020. 11. 6. 16:23๋ฌธ์ ์ถ์ฒ : ๋ฐฑ์ค ์จ๋ผ์ธ ์ ์ง
www.acmicpc.net/problem/2920 ๊ฐ์ฌํฉ๋๋ค.
๋ฌธ์
๋ค์ฅ์กฐ๋ c d e f g a b C, ์ด 8๊ฐ ์์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค. ์ด ๋ฌธ์ ์์ 8๊ฐ ์์ ๋ค์๊ณผ ๊ฐ์ด ์ซ์๋ก ๋ฐ๊พธ์ด ํํํ๋ค. c๋ 1๋ก, d๋ 2๋ก, ..., C๋ฅผ 8๋ก ๋ฐ๊พผ๋ค.
1๋ถํฐ 8๊น์ง ์ฐจ๋ก๋๋ก ์ฐ์ฃผํ๋ค๋ฉด ascending, 8๋ถํฐ 1๊น์ง ์ฐจ๋ก๋๋ก ์ฐ์ฃผํ๋ค๋ฉด descending, ๋ ๋ค ์๋๋ผ๋ฉด mixed ์ด๋ค.
์ฐ์ฃผํ ์์๊ฐ ์ฃผ์ด์ก์ ๋, ์ด๊ฒ์ด ascending์ธ์ง, descending์ธ์ง, ์๋๋ฉด mixed์ธ์ง ํ๋ณํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ 8๊ฐ ์ซ์๊ฐ ์ฃผ์ด์ง๋ค. ์ด ์ซ์๋ ๋ฌธ์ ์ค๋ช ์์ ์ค๋ช ํ ์์ด๋ฉฐ, 1๋ถํฐ 8๊น์ง ์ซ์๊ฐ ํ ๋ฒ์ฉ ๋ฑ์ฅํ๋ค.
์ถ๋ ฅ
์ฒซ์งธ ์ค์ ascending, descending, mixed ์ค ํ๋๋ฅผ ์ถ๋ ฅํ๋ค.
์์ ์ ๋ ฅ 1
1 2 3 4 5 6 7 8
์์ ์ถ๋ ฅ 1
ascending
์์ ์ ๋ ฅ 2
8 7 6 5 4 3 2 1
์์ ์ถ๋ ฅ 2
descending
์์ ์ ๋ ฅ 3
8 1 7 2 6 3 5 4
์์ ์ถ๋ ฅ 3
mixed
์ด ๋ฌธ์ ๋ ์๋ฐ์ ๋ฐฐ์ด ์
๋ ฅ&์ ์ฅ&์ถ๋ ฅ, ๋ฐฐ์ด ๋น๊ต์ ๋ํด ๊ณต๋ถํด ๊ฐ๋ฉฐ ํ์๋ค.
๋๋ถ์ ์๋ฐ์์ ๋ฐฐ์ด์ ๋ ์ ๋ค๋ฃฐ ์ ์์ ๊ฒ ๊ฐ๋ค!
์๋ฐ - ๋ฐฐ์ด ์ ๋ ฅ&์ ์ฅ
zzarungna.com/324 ์ ๋ณด๊ณ ๊ณต๋ถํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
(์๋ฐ์ ์
๋ ฅ๊ธฐ Scanner์ ํ์ฉํ ๋ฐฉ๋ฒ)
* ๋ฐฐ์ด์ ๊ธธ์ด๊ฐ ์ ํด์ ธ ์์ด์ผ ์ฌ์ฉ๊ฐ๋ฅํ ๋ฐฉ๋ฒ์ด๋ค.
1. ๋น ๋ฐฐ์ด์ ์์ฑํ๋ค.
๋ฌธ์์ด ๋ฐฐ์ด : String[] strArr = new String[๋ฐฐ์ด์๊ธธ์ด];
์ ์ ๋ฐฐ์ด : int[] intArr = new int[๋ฐฐ์ด์๊ธธ์ด];
2. Scanner๋ฅผ ์ํฌํธํ๊ณ scanner๊ฐ์ฒด๋ฅผ ๋ง๋ ๋ค.
import java.util.Scanner; // ์ฝ๋ ๋งจ ์์ ์์ฑ.
Scanner s = new Scanner(System.in);
(์์คํ
๋ด์์ ์
๋ ฅ๊ฐ์ ๋ฐ์ ๊ฒ์ด๋ฏ๋ก System.in ์ด๋ค)
(s๋ ์ค์บ๋์ด๋ฆ์ด๋ค. ์์ ๋กญ๊ฒ ๋ณ๊ฒฝ๊ฐ๋ฅ)
3. ๋ฐ๋ณต๋ฌธ์ ์ด์ฉํด ๋ฐฐ์ด์ ์์๋ค์ ํ๋์ฉ ์ ๋ ฅ๋ฐ๊ณ , ๋ฐฐ์ด ์์ ํ๋์ฉ ๋ฃ๋๋ค.
for (int i = 0; i <intArr.length; i++) {
intArr[i] = s.nextInt();
}
โป ์ ์๊ฐ ์๋ ๋ฌธ์์ด์ ์
๋ ฅ๋ฐ์ ๋๋, .nextInt()๋์ .next() ๋๋ .nextLine() ์ ์ฌ์ฉํ๋ค.
enter.tistory.com/105 ๋ณด๊ณ ๋ ๊ณต๋ถํ๊ธฐ. ๊ฐ์ฌํฉ๋๋ค.
์๋ฐ - ๋ฐฐ์ด ์ถ๋ ฅ
korbillgates.tistory.com/120 ์ ๋ณด๊ณ ๊ณต๋ถํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
- ์์์ ๋ฐ์์จ ๋ฐฐ์ด์ ๋ชจ์ต์ ํ์ธํ๊ธฐ ์ํด ๋ฐฐ์ด์ ์ถ๋ ฅํด์ผ ํ๋ค.
System.out.println(๋ฐฐ์ด์ด๋ฆ); ์ผ๋ก ์ถ๋ ฅํ๋ฉด ๋ ๊ฒ ๊ฐ์ง๋ง, ๊ทธ๋ ์ง ์๋ค.
์์ฒ๋ผ ์ถ๋ ฅํ๋ ค ํ๋ฉด, "๊ทธ ๋ฐฐ์ด์ ๋ชจ์ต" ์ด ์๋ "๊ทธ ๋ฐฐ์ด์ ์ฃผ์๊ฐ"์ด ์ถ๋ ฅ๋๋ค.
[Ljava.lang.String; @ ์ซ์์ ์์ด๋ค.. ์ฒ๋ผ.
(์์ธํ ์ด์ ๋ ๊ตฌ๊ธ๋งํด๋ด์ผ๊ฒ ์ง๋ง, ์๋ฐ์์ ๋ฐฐ์ด์ ๊ฐ์ฒด=์ฐธ์กฐ๋ณ์ ๋ผ์ ์ฃผ์๊ฐ์ ๊ฐ์ ธ์ค๋ ๋ฏ..)
๐ ๊ทธ๋์ Arrays๋ฅผ ์ํฌํธํ๊ณ , Arrays์ toString๋ฉ์๋๋ฅผ ํตํด ๋ฐฐ์ด์ ์ถ๋ ฅํ๋ค.
import java.util.Arrays
String[] strArr = { "๋๋", "๋ฌธ์์ด", "๋ฐฐ์ด" };
System.out.println(Arrays. toString(strArr));
์ด๋ฐ ์์ผ๋ก ์ฌ์ฉํ ์ ์๋ค.
์๋ฐ - ๋ ๋ฐฐ์ด ๋น๊ต
hadeslee.tistory.com/121 ์ ๋ณด๊ณ ๊ณต๋ถํ์ต๋๋ค. ๊ฐ์ฌํฉ๋๋ค.
๐ ์๋ฐ์์ ๋ ๋ฐฐ์ด(๋ฐฐ์ด1, ๋ฐฐ์ด2)์ด ๊ฐ์์ง ๋น๊ตํ๋ ค๋ฉด,
์์ '๋ฐฐ์ด์ถ๋ ฅ'๊ณผ ๋ง์ฐฌ๊ฐ์ง๋ก
java.util.Arrays๋ฅผ ์ํฌํธํ๊ณ , Arrays์ equals() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ ๋ฐฐ์ด์ ๋น๊ตํ ์ ์๋ค.
์ฌ์ฉ)
Arrays.equals(๋ฐฐ์ด1์ด๋ฆ, ๋ฐฐ์ด2์ด๋ฆ);
import java.util.Arrays;
int[] arr1 = {1, 2, 3};
int[] arr2 = {1, 2, 3};
int[] arr3 = {4, 5, 6};
System.out.println(Arrays.equals(arr1, arr2); // true
System.out.println(Arrays.equals(arr2, arr3); // false
๋ด ์ฝ๋
import java.util.Scanner;
import java.util.Arrays;
public class Main {
public static void main (String[] args) {
int[] arrA = {1, 2, 3, 4, 5, 6, 7, 8};
int[] arrD = {8, 7, 6, 5, 4, 3, 2, 1};
Scanner s = new Scanner(System.in);
int[] nums = new int[8];
for (int i = 0; i < nums.length; i++) {
nums[i] = s.nextInt();
}
if (Arrays.equals(nums, arrA)) {
System.out.println("ascending");
} else if (Arrays.equals(nums, arrD)) {
System.out.println("descending");
} else {
System.out.println("mixed");
}
}
}