๐Ÿ˜€์ •๋ฆฌ๐Ÿ˜€

han.user();ยท2023๋…„ 4์›” 2์ผ
1

๋„์ ๋„์ 

๋ชฉ๋ก ๋ณด๊ธฐ
1/2
post-thumbnail

1. Arrays.sort (String[]์€ ์•ˆ๋ผ)

Arrays.sort ๋ฉ”์†Œ๋“œ๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ์•„๋ž˜์˜ ๋ฐ์ดํ„ฐํƒ€์ž…์ด ์‚ฌ์šฉ๊ฐ€๋Šฅํ•˜๋‹ค
(Stringํƒ€์ž… ๋ถˆ๊ฐ€/๋ฐฐ์—ด[] ํ˜•ํƒœ๋งŒ ์‚ฌ์šฉ๊ฐ€๋Šฅ)

  • byte[]
  • char[]
  • double[]
  • float[]
  • int[]
  • long[]
  • Object[]
  • short[]

๋งŒ์•ฝ Stringํ˜•ํƒœ์˜ "cdab"๊ฐ™์€ ํ˜•ํƒœ์˜ ๋ฌธ์ž์—ด์„ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์œผ๋ฉด,
ํ•ด๋‹น ๋ฌธ์ž์—ด์„ char[]ํ˜•ํƒœ๋กœ ์ „ํ™˜ ํ›„ Arrays.sort๋ฅผ ํ†ตํ•ด ์ •๋ ฌ, ๊ทธ ๋‹ค์Œ ๋‹ค์‹œ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟˆ.

import java.util.Arrays;

class Test {
    public static void main(String[] args) {

        String abc = "dabc";

        char[] c = abc.toCharArray();  // ๋ฌธ์ž ํƒ€์ž… ๋ฐฐ์—ด๋กœ ์ „ํ™˜

        Arrays.sort(c); // ์ •๋ ฌ

        String str = new String(c); // ๋‹ค์‹œ Stringํƒ€์ž…์œผ๋กœ ์ „ํ™˜

        System.out.println(str); // abcd
    }
}

2. ๋ฌธ์ž์—ด์€ .equals() ์‚ฌ์šฉ

๋ฌธ์ž์—ด์˜ ๋™์ผ ์—ฌ๋ถ€๋ฅผ ํ™•์ธํ•  ๋•Œ๋Š” a==b๊ฐ€ ์•„๋‹Œ a.equals(b)๋ฅผ ์‚ฌ์šฉ

3. ํŒฉํ† ๋ฆฌ์–ผ factorial !

ํŒฉํ† ๋ฆฌ์–ผ ! ์€ 1๋ถ€ํ„ฐ n๊นŒ์ง€ ์ •์ˆ˜์˜ ๊ณฑ์„ ์˜๋ฏธ (n!)
5! = 1 x 2 x 3 x 4 x 5

4. 2์ฐจ์› ๋ฐฐ์—ด ์ถœ๋ ฅํ•  ๋•Œ

System.out.println(Arrays.deepToString(answer));
 for (boolean[] arr1 : array) {
    for (boolean element : arr1) {
        if (element == fact) {
   return false;
class Solution {
    public boolean solution(boolean[][] matrix, boolean b) {
        boolean answer = true;  // ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์›์†Œ๊ฐ€ b์™€ ๊ฐ™์€์ง€ ์—ฌ๋ถ€๋ฅผ ์ €์žฅํ•  ๋ณ€์ˆ˜
        int n = matrix.length;  // ๋ฐฐ์—ด์˜ ํฌ๊ธฐ
        for (int i = 0; i < n; i++) {  // ํ–‰ ๋ฐ˜๋ณต
            for (int j = 0; j < n; j++) {  // ์—ด ๋ฐ˜๋ณต
                if (matrix[i][j] != b) {  // ํ˜„์žฌ ์›์†Œ๊ฐ€ b์™€ ๋‹ค๋ฅด๋‹ค๋ฉด
                    answer = false;  // answer๋ฅผ false๋กœ ๋ฐ”๊ฟˆ
                    break;  // ๋ฃจํ”„ ์ข…๋ฃŒ
                }
            }
            if (!answer) {  // answer๊ฐ€ false๋ผ๋ฉด
                break;  // ๋ฃจํ”„ ์ข…๋ฃŒ
            }
        }
        return answer;  // ๊ฒฐ๊ณผ ๋ฐ˜ํ™˜
    }
}

5. 2์ฐจ์› ๋ฐฐ์—ด ํ–‰๋ ฌ ํ‘œ๊ธฐ๋ฒ•

int[][] answer = new int[m][n]
m = ํ–‰ / n = ์—ด

int[][] answer = new int[4][2]
int[][] answer = [[1,2],[3,4],[5,6],[7,8]]

6. ๋ฌธ์žํ˜• ์ˆซ์ž ์ˆซ์ž๋กœ ์ธ์‹ํ•˜๊ธฐ

์œ„์™€ ๊ฐ™์ด ๋ฌธ์ž์—ด ํ˜•ํƒœ์˜ ์ˆซ์ž๋ฅผ ๋ฌธ์ž๋กœ ๋ฐ”๊พธ๋ฉด ๋ณด์ด๋Š” ๊ฑด ์ˆซ์ž์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋ฌธ์ž์ด๊ธฐ ๋•Œ๋ฌธ์— intํ˜•์˜ ๋ฐ์ดํ„ฐ์™€ ๋น„๊ต๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ๋น„๊ต๋Š” ๊ฐ€๋Šฅํ•˜๋‚˜ ๋ฌธ์ž๋กœ ๋œ ์ˆซ์ž๋Š” ์•„์Šคํ‚ค ์ฝ”๋“œ๊ฐ€ ๋‚˜์™€์„œ ์‹ค์ œ๋กœ๋Š” ๋น„๊ต๊ฐ€ ๋˜์ง€ ์•Š๋Š”๋‹ค. ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์—์„œ๋Š” -'0' ์ˆ˜์‹์„ ๋„ฃ์–ด์ฃผ๋ฉด ํ•ด๋‹น๊ฐ’์ด ์ˆซ์ž๋กœ ๋ฐ”๋€Œ์–ด ์ธ์‹๋œ๋‹ค.

7. ์Œ์ˆ˜๋ฅผ ์–‘์ˆ˜๋กœ ๋ฐ”๊พธ๋Š” ๋ฒ•

int num = -5;
num = Math.abs(num);

System.out.println(num); // 5

8. ์‚ผํ•ญ์—ฐ์‚ฐ์ž

int answer = a > b ? a : b
a๊ฐ€ b๋ณด๋‹ค ํฌ๋ฉด a ๋Œ€์ž…, a๊ฐ€ b๋ณด๋‹ค ์ž‘์œผ๋ฉด b ๋Œ€์ž…

9. map.get(key๊ฐ’)

map์•ˆ์— ์žˆ๋Š” value๋ฅผ ์–ป๊ธฐ์œ„ํ•ด key๊ฐ’์„ ๋„ฃ๊ณ ๋บŒ

10. ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ์ง€?

int result = 0;
for (int i = 0; i < my_string.length(); i++) {  // ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.
           char c = my_string.charAt(i);  // ํ˜„์žฌ ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
           if (Character.isDigit(c)) {  // ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ ๊ฒฝ์šฐ
               result += c-'0';  // result์— ํ•ด๋‹น ์ˆซ์ž๋กœ ์ถ”๊ฐ€
               // '0'์„ ์•ˆ ๋นผ์ฃผ๋ฉด ์•„์Šคํ‚ค์ฝ”๋“œ์˜ ํฐ ์ˆซ์ž๊ฐ€ ๋”ํ•ด์ง

11. 2์ง„์ˆ˜ โ–ถ 10์ง„์ˆ˜ ์ „ํ™˜ ๊ณต์‹

2์ง„์ˆ˜๋ฅผ 10์ง„์ˆ˜๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ณต์‹์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

๊ฐ ์ž๋ฆฟ์ˆ˜์˜ ๊ฐ’์— 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๊ฐ’์„ ๊ณฑํ•œ ํ›„ ๋ชจ๋‘ ๋”ํ•˜๋ฉด ๋œ๋‹ค. 2์ง„์ˆ˜์—์„œ ์˜ค๋ฅธ์ชฝ์—์„œ๋ถ€ํ„ฐ ์ฒซ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” 2^0, ๋‘ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” 2^1, ์„ธ ๋ฒˆ์งธ ์ž๋ฆฌ๋Š” 2^2์™€ ๊ฐ™์ด 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๊ฐ’์ด ์ฆ๊ฐ€ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, 2์ง„์ˆ˜ 1101์˜ ๊ฒฝ์šฐ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๊ณ„์‚ฐํ•  ์ˆ˜ ์žˆ๋‹ค.

1 x 2^0 + 0 x 2^1 + 1 x 2^2 + 1 x 2^3 = 1 + 0 + 4 + 8 = 13

๋”ฐ๋ผ์„œ 2์ง„์ˆ˜ 1101์€ 10์ง„์ˆ˜ 13์œผ๋กœ ๋ณ€ํ™˜๋จ.

์•„๋ž˜๋Š” 2์ง„์ˆ˜๋ฅผ ๋‹ด์€ ๋ฌธ์ž์—ด์„ intํ˜• ๋ณ€์ˆ˜์— ๋‹ด๋Š” ์†Œ์Šค์ฝ”๋“œ์ด๋‹ค.
power(์ œ๊ณฑ์ˆ˜)๋ฅผ for๋ฌธ ํ•œ๋ฒˆ ๋Œ๋•Œ๋งˆ๋‹ค 1์”ฉ ์ฆ๊ฐ€์‹œ์ผœ์•ผํ•œ๋‹ค.

for (int i = bin.length() - 1; i >= 0; i--) {
   int digit = bin.charAt(i) - '0'; // ๋ฌธ์ž๋ฅผ ์ˆซ์ž๋กœ ๋ณ€ํ™˜
   decimal += digit * Math.pow(2, power); // 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๊ฐ’๊ณผ ๊ณฑํ•œ ํ›„ 10์ง„์ˆ˜ ๊ฐ’์— ๋”ํ•จ
   power++; // ๋‹ค์Œ ์ž๋ฆฟ์ˆ˜์˜ 2์˜ ๊ฑฐ๋“ญ์ œ๊ณฑ ๊ฐ’ ๊ณ„์‚ฐ์„ ์œ„ํ•ด 1 ์ฆ๊ฐ€
}

12. ์†Œ์ธ์ˆ˜๋ถ„ํ•ด ๊ณต์‹

        List<Integer> list = new ArrayList<>(); // ๋‹ด์„ ๊ทธ๋ฆ‡

        // n์„ 2๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ๋งŒํผ ๋‚˜๋ˆˆ๋‹ค
        while (n % 2 == 0) {
            list.add(2);
            n /= 2;
        }
        // ์ด์ œ n์€ ํ™€์ˆ˜๊ฐ€ ๋œ๋‹ค
        for (int i = 3; i <= Math.sqrt(n); i += 2) {
            // i๊ฐ€ n์˜ ์ธ์ˆ˜์ธ ๊ฒฝ์šฐ, i๋กœ ๋‚˜๋ˆˆ๋‹ค
            while (n % i == 0) {
                list.add(i);
                n /= i;
            }
        }
        // n์ด ์†Œ์ˆ˜์ธ ๊ฒฝ์šฐ
        if (n > 2) {
            list.add(n); // ์†Œ์ˆ˜์ธ ๊ฒฝ์šฐ list์— ์ถ”๊ฐ€
        }

13. list ์š”์†Œ set์— ๋„ฃ๊ธฐ

Set<Integer> set = new HashSet<>(list);

๋’ค์— ()์•ˆ์— list๋ช…์„ ๊ทธ๋Œ€๋กœ ๋„ฃ์œผ๋ฉด ์ „์ฒด๊ฐ€ set์œผ๋กœ ๋“ค์–ด๊ฐ(์ค‘๋ณต์ œ๊ฑฐ์ฒ˜๋ฆฌ)

14. ์ œ๊ณฑ๊ทผ ๊ตฌํ•˜๊ธฐ

Math.sqrt()๋Š” ์ธ์ž๋กœ ์ „๋‹ฌ๋œ doubleํ˜• ๋ณ€์ˆ˜์˜ ์ œ๊ณฑ๊ทผ์„ ๊ณ„์‚ฐํ•˜์—ฌ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, Math.sqrt(4) = 2

15. Set ์š”์†Œ๋“ค์„ ๋ฐฐ์—ด๋กœ ์ถœ๋ ฅ

Set<Integer> set = new HashSet<>(list); // list์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ๋ฐ›์•˜๋‹ค๊ณ  ๊ฐ€์ •

        answer = new int[set.size()]; // ๋ฐฐ์—ด์„ ์ผ๋‹จ ๋งŒ๋“ค๊ณ 

        int i = 0;
        for (int k : set) { // for each๋ฌธ์œผ๋กœ ๋‹ค ๋„ฃ์Œ
            answer[i] = k;
            i++;

16. ๋ฌธ์ž์—ด ์š”์†Œ ์ด์–ด๋ถ™์ด๊ธฐ

int[] array = {1, 23, 456};

StringBuilder sb = new StringBuilder();
for (int i = 0; i < array.length; i++) {
   sb.append(array[i]);  // 123456
}

17. ํ ๋งŒ๋“ค๊ธฐ

Queue<Integer> queue = new LinkedList<>();
for (int i : numbers) {   // numbers๋ฐฐ์—ด์— ์žˆ๋Š” ์š”์†Œ๋ฅผ ์ถ”๊ฐ€
    queue.offer(i);
}

18. ํ์—์„œ ๋นผ๋‚ด๊ธฐ (๋นผ๋‚ธ๊ฑฐ ์ €์žฅ)

int num1 = queue.poll();  //  int num1 = 1 / [2,3,4]

ํ์—์„œ ๋นผ๋‚ธ ์š”์†Œ๋ฅผ num1 intํ˜•์— ์ €์žฅ

19. ํ์— ๋‹ค์‹œ ๋„ฃ๊ธฐ

queue.offer(num1);  // [2,3,4,1]

20. ๋ฌธ์ž์—ด ๋‚ด ์—ฐ์† ์ˆซ์ž ์ธ์‹

for (int i = 0; i < my_string.length(); i++) {  // ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.
	char c = my_string.charAt(i);  // ํ˜„์žฌ ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
	if (Character.isDigit(c)) {  // ๋ฌธ์ž๊ฐ€ ์ˆซ์ž์ธ ๊ฒฝ์šฐ
		temp += c;  // temp ๋ณ€์ˆ˜์— ์ˆซ์ž๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.
	} else {  // ๋ฌธ์ž๊ฐ€ ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๊ฒฝ์šฐ
	if (!temp.equals("")) {  // temp ๋ณ€์ˆ˜์— ์ˆซ์ž๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ
		answer += Integer.parseInt(temp); // temp๋ณ€์ˆ˜์— ์ €์žฅ๋œ ์ˆซ์ž๋ฅผ ๊ฒฐ๊ณผ๊ฐ’์— ๋”ํ•จ
		temp = "";  // temp ๋ณ€์ˆ˜๋ฅผ ์ดˆ๊ธฐํ™”ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค๋ฉด my.string์•ˆ์— ์žˆ๋Š” ๋ฌธ์ž๊ฐ€ 1A3b29๋ผ๋ฉด
์ˆซ์ž๋ฅผ 1,3,2,9 ๋”ฐ๋กœ ์ธ์‹ํ•˜๋Š”๊ฒŒ ์•„๋‹Œ 1,3,29๋กœ ์ธ์‹๋˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•

21. ๊ณต๋ฐฑ ๋ฌธ์ž ์ œ๊ฑฐ (๊ฒฉ๋ฆฌ)

String S = "10 Z 20 Z 1";
char noSpaceChar;

   for (int i = 0; i < S.length(); i++) {  // ๋ฌธ์ž์—ด์„ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.
      char c = S.charAt(i);  // ํ˜„์žฌ ์œ„์น˜์˜ ๋ฌธ์ž๋ฅผ ๊ฐ€์ ธ์˜ต๋‹ˆ๋‹ค.
      if (c != ' ') {  // ๊ณต๋ฐฑ์ด ์•„๋‹Œ ๊ฒฝ์šฐ์—๋งŒ ๋ฌธ์ž๋ฅผ ์ €์žฅํ•จ
        noSpaceChar = c; // ๊ณต๋ฐฑ์—†์•ค ๋ฌธ์ž ๋ชจ์Œ
    }

22. ๋งต์— key,value ๋„ฃ๊ธฐ

Map<String, String> map = new HashMap<>();
  map.put("zero", "0");

23. ๋ฌธ์ž์—ด ๊ธ€์ž ๊ต์ฒด (map)

for (String key : map.keySet()) {  // ๋Œ์•„๊ฐ€๋ฉด์„œ ํ™•์ธ
  if (numbers.contains(key)) {  // key์ด ์žˆ์œผ๋ฉด
    String value = map.get(key); // ๊ทธ ํ‚ค๊ฐ’์˜ value ์ €์žฅ
    numbers = numbers.replaceAll(key, value); // ๊ทธ value๋ฅผ ๋ฌธ์ž์—ด์•ˆ์— ๊ธ€์ž์™€ ๊ต์ฒด
  }
}

24. Stirng -> Long

long answer = Long.parseLong(numbers);

25. 2์ฐจ์› ๋ฐฐ์—ด์— ๋ฌธ์ž์—ด ๋„ฃ๊ธฐ

// 2์ฐจ์› ๋ฐฐ์—ด ์ƒ์„ฑ
String[][] myArray = new String[3][3];

// ๋ฌธ์ž์—ด ์ž…๋ ฅ
String myString = "Hello, world!";
for (int i = 0; i < myString.length(); i++) {
    int row = i / 3;
    int col = i % 3;
    myArray[row][col] = String.valueOf(myString.charAt(i));
}

26. ๋ฌธ์ž์—ด ๊ตฌ์—ญ์œผ๋กœ ์ž๋ฅด๊ธฐ

String๋ณ€์ˆ˜๋ช….substring(i,j)
i๋ถ€ํ„ฐ j์˜ ์•ž ์ธ๋ฑ์Šค๊นŒ์ง€

27. ๋ฐ˜์˜ฌ๋ฆผํ•˜๊ธฐ double๊ฐ’

double num = 2.1;
int rounded = (int) Math.ceil(num);
System.out.println(rounded); // ์ถœ๋ ฅ: 3

28. ๋ฌธ์ž ๋ฐ”๊พธ๊ธฐ

String newString = oldString.replaceAll(", ", ">");

29. StringBuilder

StringBuilder sb = new StringBuilder();
sb.append(1);

30. ์Œ์ˆ˜๋„ ์ •์ˆ˜๋‹ค.

์Œ์ˆ˜๋„ ์ •์ˆ˜!!!

31. ๋ฌธ์ž์—ด์ˆซ์ž intํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

String s = "-1234";
int number = Integer.parseInt(s);
System.out.println(number); // -1234
        

String s = "1 2 3 a b c";
String[] arr = s.split(" ");

int num1 = Integer.parseInt(arr[2]);
int num2 = Integer.parseInt(arr[5]);  // ์ปดํŒŒ์ผ ์—๋Ÿฌ
System.out.println(num1); // 3
System.out.println(num2); // ์ปดํŒŒ์ผ ์—๋Ÿฌ
        
// Integer.parseInt๋Š” ์ˆซ์ž๋งŒ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Œ.

32. ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋งค ์ˆœ๊ฐ„๋งˆ๋‹ค ์ตœ์ ์˜ ์„ ํƒ์„ ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜
์˜ˆ๋ฅผ ๋“ค์–ด ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ๋™์ „์œผ๋กœ ์ค„ ๋•Œ๋ฅผ ๊ฐ€์ •ํ•ด๋ณด๋ฉด, ๊ฐ€์žฅ ์ ์€ ์ˆ˜์˜ ๋™์ „๊ฐฏ์ˆ˜๋กœ ๊ฑฐ์Šค๋ฆ„๋ˆ์„ ์ฃผ๋ ค๋ฉด ๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋งค ์ˆœ๊ฐ„๋งˆ๋‹ค ๊ฐ€์žฅ ํฐ ๋™์ „์„ ์‚ฌ์šฉํ•œ๋‹ค.

public static int minCoins(int[] coins, int target) {
    Arrays.sort(coins); // ๋™์ „๋“ค์„ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ
    int count = 0;
    for (int i = coins.length - 1; i >= 0; i--) { // ํฐ ์ˆ˜๋ถ€ํ„ฐ
        while (target >= coins[i]) {
            target -= coins[i]; // ๋‚จ์€ ๊ฑฐ์Šค๋ฆ„๋ˆ ์ฐจ๊ฐ
            count++;
        }
    }
    return count;
}

33. ์กฐํ•ฉ ๋ฌธ์ œ๋Š”? ํŒŒ์Šค์นผ์‚ผ๊ฐํ˜•!

์–ด๋ ค์šฐ๋‹ˆ๊นŒ ์กฐํ•ฉ๋ฌธ์ œ๋‚˜์˜ค๋ฉด ๊ฒ€์ƒ‰ํ•ด์„œ ์‚ฌ์šฉ

34. ์‚ผ๊ฐํ˜•์˜ ์„ฑ๋ฆฝ์กฐ๊ฑด

๊ฐ€์žฅ ํฐ ๋ณ€์€ ๋‚˜๋จธ์ง€ ๋‘๋ณ€์˜ ํ•ฉ๋ณด๋‹ค ์ž‘๋‹ค!

5 < 3+4

35. Set์„ ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ธฐ

Set์— ์žˆ๋Š” ๊ฒƒ๋“ค์„ ๊ทธ๋Œ€๋กœ ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ธฐ

String[] answer = set.toArray(new String[set.size()]);

36. ์žฌ๊ท€ ํ˜ธ์ถœ

์ž๊ธฐ ์ž์‹ ๊ณผ ๋˜‘๊ฐ™์€ ๋ฉ”์†Œ๋“œ๋ฅผ ํ˜ธ์ถœ

ํ•˜์ง€๋งŒ, ์žฌ๊ท€ ํ˜ธ์ถœ์„ ์‚ฌ์šฉํ•  ๋•Œ๋Š” ์ข…๋ฃŒ ์กฐ๊ฑด(Exit Condition)์„ ๋ช…ํ™•ํžˆ ์„ค์ •ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ข…๋ฃŒ ์กฐ๊ฑด์ด ์—†์œผ๋ฉด ํ•จ์ˆ˜๊ฐ€ ๋ฌดํ•œํžˆ ํ˜ธ์ถœ๋œ๋‹ค.

๋Œ€ํ‘œ์ ์ธ ์˜ˆ๊ฐ€ ํŒฉํ† ๋ฆฌ์–ผ์ด๋‹ค.

public static int factorial(int n) { // ์žฌ๊ท€ํ•จ์ˆ˜
    if (n > 0) {
        return n * factorial(n-1);
    } else {
        return 1;
    }
}

37. ์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•

๋‘ ์ˆ˜์˜ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜(Greatest Common Divisor, GCD)๋ฅผ ๊ตฌํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜

38. ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์œ ํด๋ฆฌ๋“œ ํ˜ธ์ œ๋ฒ•์œผ๋กœ ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ์‰ฝ๊ฒŒ ๊ตฌํ•  ์ˆ˜ ์žˆ๋‹ค.
์ฝ”๋“œ๋Š” ์•„๋ž˜์™€ ๊ฐ™๋‹ค

static int gcd(int x, int y) {
   if (y == 0) {
      return x;
   } else {
      return gcd(y, x % y);
   }
}

39. ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ๊ตฌํ•˜๊ธฐ

์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋Š” ๋Œ€์ƒ์ด ๋˜๋Š” ๋‘ ์ •์ˆ˜์˜ ๊ณฑ์— ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๋‚˜๋ˆ„๋ฉด ๋œ๋‹ค.
์ฆ‰ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜๋ฅผ ๊ตฌํ•˜๋ ค๋ฉด ๋จผ์ € ์ตœ๋Œ€๊ณต์•ฝ์ˆ˜๋ฅผ ๊ตฌํ•ด์•ผํ•œ๋‹ค.

lcm(x,y) = (x * y) / gcd(x, y)

// ๋ฐฐ์—ด ํ˜•ํƒœ์˜ ์š”์†Œ๋“ค์— ๋Œ€ํ•œ ์ตœ์†Œ๊ณต๋ฐฐ์ˆ˜ ์ฐพ๊ธฐ
public static int getLCM(int[] arr) {
  int lcm = arr[0];
     for (int i = 1; i < arr.length; i++) {
        lcm = (lcm * arr[i]) / gcd(lcm, arr[i]);
     }
   return lcm;
}

40. ์žฌ๊ท€๋Š” ๋ฉ”์†Œ๋“œ๋ฅผ ๋งŒ๋“ค์–ด ํ’€์–ด!

41. ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํ•„์š”ํ•œ ๋ฌธ์ œ

์ฝ”๋”ฉํ…Œ์ŠคํŠธ์—์„œ๋Š” ๋‹ค์–‘ํ•œ ์ข…๋ฅ˜์˜ ๋ฌธ์ œ๊ฐ€ ์ถœ์ œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ ์ค‘์—์„œ๋„ ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋งŽ์ด ์ถœ์ œ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ๋งค์šฐ ๊ฐ•๋ ฅํ•˜๊ณ  ์œ ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์•„๋ž˜๋Š” ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ์ ํ•ฉํ•œ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

  • ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฌธ์ œ
    ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ถ„ํ•  ์ •๋ณต ์•Œ๊ณ ๋ฆฌ์ฆ˜์—์„œ ๋งค์šฐ ์ž์ฃผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ฌธ์ œ๋ฅผ ์ž‘์€ ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๋ถ€๋ถ„ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ์—๋„ ๋‹ค์‹œ ์žฌ๊ท€์ ์œผ๋กœ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ํ˜ธ์ถœํ•˜์—ฌ ํ•ด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” ๋ณ‘ํ•ฉ ์ •๋ ฌ, ํ€ต ์ •๋ ฌ, ์ด์ง„ ๊ฒ€์ƒ‰ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํŠธ๋ฆฌ ๋ฌธ์ œ
    ํŠธ๋ฆฌ๋Š” ์ž์‹ ๋…ธ๋“œ๊ฐ€ 2๊ฐœ ์ด์ƒ์ธ ๋…ธ๋“œ๋“ค์˜ ์ง‘ํ•ฉ์ด๋ฉฐ, ์žฌ๊ท€ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด ํŠธ๋ฆฌ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š”๋ฐ ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ํŠธ๋ฆฌ ๊ตฌ์กฐ๊ฐ€ ์ž์‹ ์„ ๊ธฐ์ค€์œผ๋กœ ํ•˜์œ„ ๋…ธ๋“œ๋“ค์„ ํฌํ•จํ•˜๋Š” ๊ตฌ์กฐ์ด๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” ์ด์ง„ ํŠธ๋ฆฌ ์ˆœํšŒ, ํŠธ๋ฆฌ ๊ตฌ์กฐ์—์„œ์˜ ๊ฒฝ๋กœ ํƒ์ƒ‰, ๊ท ํ˜• ์žกํžŒ ์ด์ง„ ํƒ์ƒ‰ ํŠธ๋ฆฌ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ
    ๋ฐฑํŠธ๋ž˜ํ‚น ๋ฌธ์ œ๋Š” ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ํƒ์ƒ‰ํ•˜์—ฌ ์ตœ์ ์˜ ํ•ด๋ฅผ ์ฐพ๋Š” ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์žฌ๊ท€์ ์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ๊ตฌํ˜„๋ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” ์Šค๋„์ฟ , N-Queen ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋™์  ๊ณ„ํš๋ฒ• ๋ฌธ์ œ
    ๋™์  ๊ณ„ํš๋ฒ• ๋ฌธ์ œ์—์„œ๋„ ์žฌ๊ท€์ ์ธ ๋ฐฉ๋ฒ•์œผ๋กœ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ถ€๋ถ„ ๋ฌธ์ œ๋กœ ๋‚˜๋ˆ„์–ด ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋Œ€ํ‘œ์ ์ธ ์˜ˆ๋กœ๋Š” ํ”ผ๋ณด๋‚˜์น˜ ์ˆ˜์—ด, ์ตœ์žฅ ๊ณตํ†ต ๋ถ€๋ถ„ ๋ฌธ์ž์—ด ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

42. 2์ฐจ์› ์ŠคํŠธ๋ง๋ฐฐ์—ด -> 1์ฐจ์›

public static String[] flatten(String[][] arr) {
   int rows = arr.length;
   int cols = arr[0].length;
   String[] flat = new String[rows * cols];
   
   int idx = 0;
   for (int i = 0; i < rows; i++) {
      for (int j = 0; j < cols; j++) {
          flat[idx++] = arr[i][j];
      }
   }
   return flat;
}

43. 2์ฐจ์›/1์ฐจ์› ๋ฐฐ์—ด๊ฐ’ ๋น„๊ต

// ์ด ๋ฌธ์ œ ์ฐธ๊ณ 
//2์ฐจ์›๋ฐฐ์—ด์— ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ž…๋ ฅ id/pw ์ผ์น˜์—ฌ๋ถ€ ํŒ๋‹จ

class Solution {
public String solution(String[] id_pw, String[][] db) {
    for (String[] member : db) {
        if (id_pw[0].equals(member[0])) { // ์•„์ด๋””๊ฐ€ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ
            if (id_pw[1].equals(member[1])) { // ๋น„๋ฐ€๋ฒˆํ˜ธ๋„ ์ผ์น˜ํ•˜๋Š” ๊ฒฝ์šฐ
                return "login";
            } else { // ๋น„๋ฐ€๋ฒˆํ˜ธ๊ฐ€ ์ผ์น˜ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ
                return "wrong pw";
            }
        }
    }
    // ์ผ์น˜ํ•˜๋Š” ํšŒ์› ์ •๋ณด๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ
    return "fail";
	}
}

44. ๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜

๋ธŒ๋ฃจํŠธ ํฌ์Šค(brute force) ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ์‹œ๋„ํ•ด๋ณด๋Š” ๊ฐ€์žฅ ๊ฐ„๋‹จํ•˜๊ณ  ์ง์ ‘์ ์ธ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ๊ฒฝ์šฐ์˜ ์ˆ˜๊ฐ€ ์ƒ๋Œ€์ ์œผ๋กœ ์ ์€ ์ž‘์€ ํฌ๊ธฐ์˜ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ตœ์ ํ™”๋˜์ง€ ์•Š์€ ์ฝ”๋“œ๋ฅผ ์ƒ์„ฑํ•˜๋ฏ€๋กœ, ๋Œ€๊ทœ๋ชจ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๋ ค๋Š” ๊ฒฝ์šฐ์—๋Š” ํšจ์œจ์ ์ธ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ์กฐํ•ฉ์„ ์ƒ์„ฑํ•˜๊ณ  ๊ฐ ์กฐํ•ฉ์„ ๊ฒ€์‚ฌํ•˜์—ฌ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๋ฅผ ์ฐพ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋Œ€๊ฐœ ์ค‘์ฒฉ๋œ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ๊ฐ ๋ฃจํ”„๋Š” ๋ฌธ์ œ์— ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง‘๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, ๋ฐฐ์—ด์—์„œ ๋‘ ์ˆ˜์˜ ํ•ฉ์ด ํŠน์ • ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š”์ง€ ๊ฒ€์‚ฌํ•˜๋Š” ๊ฒฝ์šฐ, ๋ธŒ๋ฃจํŠธ ํฌ์Šค ์•Œ๊ณ ๋ฆฌ์ฆ˜์€ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ€๋Šฅํ•œ ์Œ์„ ๊ฒ€์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•ด ๋‘ ๊ฐœ์˜ ์ค‘์ฒฉ๋œ ๋ฃจํ”„๋ฅผ ์‚ฌ์šฉํ•˜๋ฉฐ, ์ฒซ ๋ฒˆ์งธ ๋ฃจํ”„๋Š” ๋ฐฐ์—ด์˜ ๊ฐ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•˜๊ณ , ๋‘ ๋ฒˆ์งธ ๋ฃจํ”„๋Š” ์ฒซ ๋ฒˆ์งธ ๋ฃจํ”„ ๋‹ค์Œ ์š”์†Œ๋ถ€ํ„ฐ ๋ฐฐ์—ด์˜ ๋๊นŒ์ง€ ์š”์†Œ๋ฅผ ์ˆœํšŒํ•ฉ๋‹ˆ๋‹ค.

45. BufferedReader๋Š” ๋ฌธ์ž์—ด๋งŒ ์ž…๋ ฅ

์ผ๋‹จ ๋ฌธ์ž์—ด๋กœ ์ธ์‹๋˜๊ณ , ๋‹ค๋ฅธ ํƒ€์ž…์œผ๋กœ ๋‹ค์‹œ ๋ฐ”๊ฟ”์ค˜์•ผํ•จ

46. String->Int ๋ฌธ์ž์—ด์„ ์ˆซ์ž๋กœ

int num1 = Integer.parseInt(inputs[0]);

47. ๊ณต๋ฐฑ์œผ๋กœ ๋‚˜๋ˆ  ์ž…๋ ฅ ๋ฐ›๊ธฐ

String[] inputs = br.readLine().split(" ");

48. BufferedReader์™€ ์˜ˆ์™ธ์ฒ˜๋ฆฌ

BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();

49. ์•ŒํŒŒ๋ฒณ ๋Œ€๋ฌธ์ž<->์†Œ๋ฌธ์ž ๋ณ€๊ฒฝ

String lowerCaseStr = str.toLowerCase(); // ๋Œ€๋ฌธ์ž๋ฅผ ์†Œ๋ฌธ์ž๋กœ
String upperCaseStr = str.toUpperCase(); // ์†Œ๋ฌธ์ž๋ฅผ ๋Œ€๋ฌธ์ž๋กœ

50. StringBuilder / StringBuffer

๋ฌธ์ž๋ฅผ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊ฟ€ ๋•Œ ํŽธํ•˜๋‹ค.

StringBuilder sb = new StringBuilder();

for (int i = 0; i < str.length(); i++) {
    char c = str.charAt(i);

    if (Character.isLowerCase(c)) {
        sb.append(Character.toUpperCase(c));

51. ์ œ๊ณฑ ๊ตฌํ•˜๊ธฐ ๋ช‡์Šน

Math.pow(3, 1)  // 3์˜1์Šน

52. ์ˆซ์ž ์ž๋ฆฟ์ˆ˜ ๋”ํ•˜๊ธฐ

public class AddNumberOfDigits {
    public static void main(String[] args) {
        int n = 123;
        int sum = 0;

        while (n > 0) {
            int digit = n % 10;
            sum += digit;
            n /= 10;
        }

        System.out.println(sum); // 6
    }
}

10์œผ๋กœ ๋‚˜๋ˆ„๋Š”๊ฒŒ ํฌ์ธํŠธ

53. int -> String

int num = 123;
String str = Integer.toString(num);
System.out.println(str); // ์ถœ๋ ฅ: "123"

54. ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ

ArrayList์™€ Collections ํด๋ž˜์Šค๋ฅผ ํ™œ์šฉํ•œ ์ •์ˆ˜ ๋‚ด๋ฆผ์ฐจ์ˆœ

import java.util.ArrayList;
import java.util.Collections;

public class Descending {
    public static void main(String[] args) {
        long n = 118372;

        ArrayList<Long> digits = new ArrayList<>();

        // ์ž…๋ ฅ๋ฐ›์€ ์ •์ˆ˜์˜ ๊ฐ ์ž๋ฆฟ์ˆ˜๋ฅผ ArrayList์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.
        while (n > 0) {
            digits.add(n % 10);
            n /= 10;
        }

        // ArrayList๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.
        Collections.sort(digits, Collections.reverseOrder());

        // ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ArrayList๋ฅผ ์ด์šฉํ•˜์—ฌ ์ƒˆ๋กœ์šด ์ •์ˆ˜๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.
        long sorted = 0;
        for (Long digit : digits) {
            sorted *= 10;
            sorted += digit;
        }

        System.out.println(sorted);
    }
}

55. StringBuilder -> String

String.valueOf(sb);

56. ๋ฌธ์ž์—ด์„ char[] ๋ฐฐ์—ด๋กœ ๋ฐ”๊พธ๊ธฐ

// ๋ฌธ์ž์—ด s๋ฅผ char ๋ฐฐ์—ด๋กœ ๋ณ€ํ™˜
char[] charArr = s.toCharArray();

57. char[] ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ฐ”๊พธ๊ธฐ

// char ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•˜์—ฌ ๋ฐ˜ํ™˜
 return new String(charArr);

58. ๋น„ํŠธ์—ฐ์‚ฐ์ž(or์—ฐ์‚ฐ์ž)

๋‘˜ ์ค‘ ํ•˜๋‚˜๋ผ๋„ true๋ฉด true ๋‘˜๋‹ค ์•„๋‹ˆ๋ฉด false

answer[i] = Integer.toBinaryString(arr1[i] | arr2[i]);

10์ง„์ˆ˜ ๋ฐฐ์—ด ๋‘๊ฐœ๋ฅผ 2์ง„๋ฒ•์œผ๋กœ ์—ฐ์‚ฐ

59. List -> String

        List<String> list = new ArrayList<String>();
        list.add("a");
        list.add("b");
        list.add("c");

        for (String str:list) {
            System.out.print(str);
        }
        // ์ถœ๋ ฅ abc 

๋žŒ๋‹ค์‹์„ ํ™œ์šฉํ•˜๋ฉด ์•„๋ž˜์ฒ˜๋Ÿผ๋„ foreach๋ฌธ์„ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

list.forEach(str-> System.out.println(str)); // 1๋ฒˆ
list.forEach(System.out::println); // 2๋ฒˆ

60. ์ˆซ์ž๊ฐ€ ์•„๋‹Œ ๋ฌธ์ž ์ œ๊ฑฐ

ex)
phoneNumber.repalceAll("^0-9)","");
์ •๊ทœํ‘œํ˜„์‹

61. ์บก์Šํ™”

  • ์บก์Šํ™” ์›๋ฆฌ
    ํ•„๋“œ -> private ๋ฉค๋ฒ„
    ๋ฉ”์†Œ๋“œ -> public ๋ฉค๋ฒ„
profile
I'm still hungry.

0๊ฐœ์˜ ๋Œ“๊ธ€