๐ 1. ๋ฌธ์ ์ค๋ช
๐ก 2. ์ ๋ต์ฝ๋
๐ ๐ปโ๏ธ ์ฒซ ๋ฒ์งธ ์๋ - ํ๋ฆผ โ
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ์์ด ์๋์์ฑ์ด ์ ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ๋๋๋ฐ๋ก ์จ์ ๋ง์ด ํ๋ ธ๋ค.
class Solution {
public String solution(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < str1.length; i++) {
sb.append((str1(i)+str2(i));
}
return sb;
}
}
์ค๋ต ์ ๋ฆฌ
โญ str1.length → str1.length()
length๋ ๋ฐฐ์ด์์ ์ฌ์ฉ๋๊ณ , ๋ฌธ์์ด์์๋ length() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค.
โญ sb.add(...) → sb.append(...)
StringBuilder๋ add() ๋ฉ์๋๊ฐ ์๊ณ , ๋์ append()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
โญ str1(i) → str1.charAt(i) & str2(i) → str2.charAt(i)
๋ฌธ์์ด์์ ํน์ ๋ฌธ์๋ฅผ ๊ฐ์ ธ์ฌ ๋๋ charAt(i)๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.
โญ return answer; → return sb.toString()
StringBuilder๋ ์ต์ข
๋ฌธ์์ด์ toString()์ผ๋ก ๋ณํํ ๋ค์ ๋ฐํํด์ผ ํ๋ค.
๐ ๐ปโ๏ธ ๋๋ฒ์งธ ์๋ - ํ๋ฆผ โ
class Solution {
public String solution(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < str1.length(); i++) {
sb.append(str1.charAt(i)+str2.charAt(i));
}
return sb.toString();
}
}
์ค๋ต ์ ๋ฆฌ
sb.append(str1.charAt(i) + str2.charAt(i));
char ํ์ (๋ฌธ์)๋ผ๋ฆฌ + ์ฐ์ฐ์๋ก ๋ํ๋ฉด ๋ฌธ์ ์ฝ๋ ๊ฐ(ASCII ๊ฐ)๋ผ๋ฆฌ ๋ํด์ง ์ ์๊ฐ ๋๋ค๊ณ ํ๋ค.
์: 'a' + 'b' → 97 + 98 = 195
๊ทธ๋์ 195๊ฐ ๋ค์ฏ ๋ฒ ๋ฐ๋ณต ์ถ๋ ฅ ๋ ๊ฒ์ด๋ค.
๋ฌธ์๋ผ๋ฆฌ ๊ฒฐํฉํ๋ ค๋ฉด String.valueOf() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค. ์๋๋ฉด ์๋์ฒ๋ผ ์จ์ผ ํ๋ค.
sb.append(str1.charAt(i)).append(str2.charAt(i));
โ 3. ์ ๋ต์ฝ๋
class Solution {
public String solution(String str1, String str2) {
StringBuilder sb = new StringBuilder();
for(int i = 0; i < str1.length(); i++) {
sb.append(str1.charAt(i)).append(str2.charAt(i));
}
return sb.toString();
}
}