๊ตฌํ˜„ (Implementation)

๐Ÿ” ๊ฐœ์š”

  • ๊ตฌํ˜„ ๋ฌธ์ œ๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ž์ฒด๋ณด๋‹ค๋Š” ๋ฌธ์ œ๋ฅผ ์ฝ”๋“œ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ณผ์ •์ด ํ•ต์‹ฌ์ด๋‹ค.
  • ๋ณ„๋„์˜ ๋ฌธ์ œ ์œ ํ˜•์ด ์•„๋‹ˆ๋ผ ์™„์ „ ํƒ์ƒ‰, ์‹œ๋ฎฌ๋ ˆ์ด์…˜๋“ฑ์ด โ€˜๊ตฌํ˜„โ€™ ์œ ํ˜•์œผ๋กœ ๋‚˜ํƒ€๋‚œ๋‹ค.
    • ์‹œ๋ฎฌ๋ ˆ์ด์…˜ : ๋ฌธ์ œ ์กฐ๊ฑด๋Œ€๋กœ ์ง์ ‘ ๊ณผ์ • ๊ตฌํ˜„ (์˜ˆ: ๊ฒŒ์ž„ํŒ ์ด๋™, ํšŒ์ „, ํ„ฐ๋œจ๋ฆฌ๊ธฐ)
    • ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ : ํŒŒ์‹ฑ, ์•„์Šคํ‚ค์ฝ”๋“œ ๋‹ค๋ฃจ๊ธฐ, replace/substring
    • ์ˆ˜ํ•™์  ์—ฐ์‚ฐ
    • ์ž๋ฃŒ๊ตฌ์กฐ ํ™œ์šฉ
    • ์ขŒํ‘œ๊ณ„/๊ฒฉ์ž

๐Ÿค” ํ•ต์‹ฌ ์ ‘๊ทผ ๋ฐฉ๋ฒ•

1. ๋ฐฉํ–ฅ ์ด๋™

int[] dx = {-1, 1, 0, 0};
int[] dy = {0, 0, -1, 1};
 
// ์ƒ, ํ•˜, ์ขŒ, ์šฐ
for (int d = 0; d < 4; d++) {
    int nx = x + dx[d];
    int ny = y + dy[d];
    if (nx>=0 && ny>=0 && nx<n && ny<m) {
        // ์œ ํšจ ๋ฒ”์œ„ ์•ˆ
    }
}

2. ๋ฌธ์ž์—ด ์ฒ˜๋ฆฌ

String s = "abc123";
for (char c : s.toCharArray()) {
    if (Character.isDigit(c)) { ... }
}
 
StringBuilder sb = new StringBuilder();
sb.append("Hello");
sb.reverse(); // ๋’ค์ง‘๊ธฐ

โ“ ๋Œ€ํ‘œ ์˜ˆ์‹œ ๋ฌธ์ œ

(A) ์‹œ๋ฎฌ๋ ˆ์ด์…˜ - ๋กœ๋ด‡ ์ฒญ์†Œ๊ธฐ

// ๋ฐฉํ–ฅ ํšŒ์ „, ์•ž์œผ๋กœ ์ด๋™ ๋“ฑ ๊ทธ๋Œ€๋กœ ์ฝ”๋“œ๋ฅผ ์˜ฎ๊ธฐ๋Š” ๊ฒƒ์ด ์ค‘์š”

(B) ๋ฌธ์ž์—ด - ๋‹จ์–ด ๋’ค์ง‘๊ธฐ

Scanner sc = new Scanner(System.in);
 
String[] arr = sc.nextLine().split(" ");
for (String word : arr) {
    System.out.print(new StringBuilder(word).reverse() + " ");
}

(C) ์ขŒํ‘œ - ๋ฑ€ ๊ฒŒ์ž„

  • ๋ฑ€ ์œ„์น˜๋ฅผ Deque<int[]> ๋กœ ๊ด€๋ฆฌ
  • ์‚ฌ๊ณผ๋Š” Set<String> ์— ์ €์žฅ ํ›„ ์ฒดํฌ
  • ์ด๋™ ์‹œ ๋จธ๋ฆฌ ์ถ”๊ฐ€, ๊ผฌ๋ฆฌ ์ œ๊ฑฐ