๊ตฌํ (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>์ ์ ์ฅ ํ ์ฒดํฌ - ์ด๋ ์ ๋จธ๋ฆฌ ์ถ๊ฐ, ๊ผฌ๋ฆฌ ์ ๊ฑฐ