2023. 10. 4. 14:47ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1199
-> ์ด์ ๋ฌธ์ ํ์ด
4. ๋จ์ด ๋ค์ง๊ธฐ
์ค๋ช
N๊ฐ์ ๋จ์ด๊ฐ ์ฃผ์ด์ง๋ฉด ๊ฐ ๋จ์ด๋ฅผ ๋ค์ง์ด ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
์ ๋ ฅ
์ฒซ ์ค์ ์์ฐ์ N(3<=N<=20)์ด ์ฃผ์ด์ง๋๋ค.
๋ ๋ฒ์งธ ์ค๋ถํฐ N๊ฐ์ ๋จ์ด๊ฐ ๊ฐ ์ค์ ํ๋์ฉ ์ฃผ์ด์ง๋๋ค. ๋จ์ด๋ ์์ด ์ํ๋ฒณ์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ถ๋ ฅ
N๊ฐ์ ๋จ์ด๋ฅผ ์ ๋ ฅ๋ ์์๋๋ก ํ ์ค์ ํ๋์ฉ ๋ค์ง์ด์ ์ถ๋ ฅํฉ๋๋ค.
์์ ์ ๋ ฅ 1
3
good
Time
Big
์์ ์ถ๋ ฅ 1
doog
emiT
giB
๋ฌธ์ ํ์ด 1
public String[] solution(String[] input) {
String[] answer = new String[input.length];
Arrays.fill(answer, "");
for (int i = 0; i < input.length; i++) {
String[] s = input[i].split("");
for (int j = s.length - 1; j >= 0; j--) {
answer[i] += s[j];
}
}
return answer;
}
๐ฉ๐ป๐ป : ๋๋ ์ฐ์ ์ด๋ฒ์๋.. split์ด ๋ ์ฌ๋ผ์ split ์ ํตํด ๋ฌธ์ ๋ฅผ ํ์๋ค.
์ฐ์ ์ฃผ์ด์ง ๋ฌธ์๋ฅผ ๋น๋ฌธ์์ด ""๋ก ์ชผ๊ฐ ๋ค์ ๊ทธ ๋ฌธ์ ๋ฐฐ์ด์ ๊ฐ์ง๊ณ for๋ฌธ์ ๋ฐ๋๋ก ๋๋ฉด์ answer์ ๊ทธ ๋ฌธ์๋ฅผ ๋ํด์คฌ๋ค.
(์๋ง..? ์ด๋ ๊ฒ ํ๋ฉด ํ๋ก๊ทธ๋๋จธ์ค์์ ํจ์จ์ฑ ํ ์คํธ์์ ๋จ์ด์ก์ ๊ฒ ๊ฐ๊ธฐ๋ ํ๊ณ .. ์ผ๋จ ์ฌ๊ธฐ์๋ ์ ๋ต์ด์๋ค.)
์ด๋ answer ๋ฌธ์์ด ๋ฐฐ์ด์์ ""๋ก ์ด๊ธฐํํด์ฃผ์ง ์์ผ๋ฉด ๊ฐ์ด ๋ชจ๋ null ๋ก ์ด๊ธฐํ๋์ด ์์ด์ ๊ทธ๋๋ก null ์ด ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ์ป๊ฒ ๋๋ค. ๋ฐ๋ผ์ Arrays.fill ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ answer ๋ฌธ์์ด ๋ฐฐ์ด์ ๋ชจ๋ "" ๋น ๋ฌธ์์ด๋ก ์ด๊ธฐํํด์คฌ๋ค.
๋ฌธ์ ํ์ด 2
public ArrayList<String> solution2(int n, String[] str) {
ArrayList<String> answer = new ArrayList<>();
for (String s : str) {
String tmp = new StringBuilder(s).reverse().toString();
answer.add(tmp);
}
return answer;
}
๐พ : StringBuilder ๋ฅผ ์ ์๊ฐํ์ง ๋ชปํ์๊น..!!! ๋จผ์ str์ StringBuilder์ ๋ฃ์ด์ฃผ๊ณ , reverse๋ฅผ ํด์ฃผ๋ฉด ์์์ ๊ทธ ๋ฌธ์์ด์ด ๋ฐ๋๋ก ๋ค์งํ๋ค..
๋ฌธ์ ํ์ด 3
public ArrayList<String> solution3(int n, String[] str) {
ArrayList<String> answer = new ArrayList<>();
for (String s : str) {
char[] chars = s.toCharArray();
int lt = 0, rt = s.length() - 1;
while (lt < rt) {
char tmp = chars[lt];
chars[lt] = chars[rt];
chars[rt] = tmp;
lt ++;
rt--;
}
String tmp = String.valueOf(chars);
answer.add(tmp);
}
return answer;
}
๐พ : StringBuilder์ reverse ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ฉด ๊ฐํธํ๊ฒ ๋จ์ด๋ฅผ ๋ค์ง์ ์ ์์ง๋ง, ์ง์ ๋ค์ง์ ์๋ ์๋ค.
์ฐ์ ์ฃผ์ด์ง ๋ฌธ์๋ฐฐ์ด str์์ for๋ฌธ์ ๋๋ฉด์ ๊ฐ ๋ฌธ์๋ฅผ toCharArray() ๋ฅผ ํตํด์ ๋ฌธ์ ๋ฐฐ์ด๋ก ๋ง๋ค์ด์ฃผ๊ณ ,
lt, rt ๋ณ์๋ฅผ ์ ์ธํด์ lt๋ ๋ฌธ์ ๋ฐฐ์ด์ ์๋ถ๋ถ๋ถํฐ, rt๋ ๋ฌธ์ ๋ฐฐ์ด์ ๋ท๋ถ๋ถ๋ถํฐ ์์ฐจ์ ์ผ๋ก ๋๊ฐ๋๋ก ํ๋ค.
lt๊ฐ rt ์์น๋ณด๋ค ์์๋๊น์ง ๋ฐ๋ณต๋ฌธ์ ์ํํ๋ฉด์ ( lt ์์น๊ฐ rt ์์น๋ณด๋ค ์ปค์ง๋ค๋ ๊ฑด, ๋ฌธ์์ด์ ์๋ก ๋ค ๋ค์ง์๋ค๋ ๊ฒ!) ๋ฌธ์์ ์์น๋ฅผ ์๋ก ๋ณ๊ฒฝํด์คฌ๋ค. ๊ทธ ๋ค์ lt ๋ +1 ํ๊ณ , rt ๋ -1 ํด์ ๊ฐ๊ฐ ๊ทธ ๋ค์ ๋ฌธ์๋ฅผ ์๋ก ๊ตํํด์ฃผ๋ฉด ๋๋ค.
๊ทธ ๋ค์ ๊ฒฐ๊ณผ๋ ๋ฌธ์์ด๋ก ๋ฐํํด์ผ ํ๊ธฐ ๋๋ฌธ์ String.value ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์ ๋ฐฐ์ด์ ๋ฌธ์์ด๋ก ๋ณํํด์ฃผ๊ณ , arraylist์ add ํด์คฌ๋ค.