์ฝํ
๋ฌธ์ ํ ๋ ์๊ณ ๋ฆฌ์ฆ์ด๋ ์๋ฃ๊ตฌ์กฐ๋ ๊ณต๋ถํด์ผ ํ์ง๋ง, ์ฝ๋๋ฅผ ์์ฑํ๋ ๋ฐฉ๋ฒ๋ ์ค์ํ๋ค.ํด๋ฆฐ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ ์ํด์๋ ์๋ ์ธ ๊ฐ์ง ์ต๊ด์ ๋ค์ฌ์ผ ํ๋ค.ํ๋ฃจ ์์นจ์ ์ฝ๋ ์ฐ๋ ์ต๊ด์ด ๋ฐ๋์ง๋ ์๊ฒ ์ง๋ง ๋งค๋ฒ ์ฝ๋๋ฅผ ์์ฑํ ๋๋ง๋ค ์ด๋ฌํ ์ต๊ด์ ์ผ๋์ ๋๊ณ ์์ฑํ๋ค ๋ณด๋ฉด ์ ์ฐจ ํด๋ฆฐ ์ฝ๋ ์์ฑ ๋ฅ๋ ฅ์ด ํฅ์๋ ๊ฒ์ด๋ผ๊ณ ๊ธฐ๋ํ๋ค. 1. ์กฐ๊ธฐ๋ฐํ (early return)์กฐ๊ธฐ ๋ฆฌํด(early return)์ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋๋ฉด ํจ์๋ ๋ฉ์๋์์ ๋ฐ๋ก ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ํ๋ก๊ทธ๋๋ฐ ๊ธฐ๋ฒ์ด๋ค. ์ด๋ ๊ฒ ํ๋ฉด ๋ถํ์ํ ๊ณ์ฐ์ ํผํ๊ณ ์ฝ๋์ ๊ฐ๋
์ฑ์ ๋์ผ ์ ์๋ค.์๋ฅผ ๋ค์ด, totalPrice ํจ์์์ ๊ฐ๊ฒฉ์ด 100์ ์ด๊ณผํ๋ ๊ฒฝ์ฐ ๋ฐ๋ก ํ ์ธ์ ์ ์ฉํ๊ณ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํํ๋ ์ฝ๋๋ฅผ ์งค ๋, ์กฐ๊ธฐ ๋ฆฌํด์ ํ์ง ์์ผ๋ฉด ํ ์ธ ๋ก์ง์ ..
๐ 1. ๋ฌธ์์ด ์๊ธฐ ๐ก 1-1. ์ ๊ทผ๋ฐฉ์โ ๋จ์ํ ์ฃผ์ด์ง ๋ณ์๋ช
๊ทธ๋๋ก a + b > b + a ์ด๋ ๊ฒ ๋น๊ตํ๋ฉด ๋ ์ซ์๋ ์ ์ ๋ง์
์ด๊ธฐ ๋๋ฌธ์ ํญ์ a + b == b + a๊ฐ ๋๋ค. ๋ฌธ์ ์์ ์๋ํ ๊ฒ์ ์ซ์๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ์ฌ ์ฐ๊ฒฐํ ํ, ํฌ๊ธฐ๋ฅผ ๋น๊ตํ๋ ๊ฒ์ด๋ค. ์ฌ๋ฐ๋ฅด๊ฒ ๋น๊ตํ๋ ค๋ฉด String.valueOf(a) + b์ String.valueOf(b) + a ๋ฅผ ๋น๊ตํด์ผ ํ๋ค. โ ๋ ๋๋ ์ฒ์์ sb.toString()์ ์จ์ int๋ก ๋ฐํํ๋ ์ค์๋ฅผ ํ๋๋ฐ, sb.toString()์ ๋ฌธ์์ด์ด๊ธฐ ๋๋ฌธ์, int ํ์
์ ๋ฐํํ๋ solution ๋ฉ์๋์ ํ์
์ด ๋ง์ง ์๋๋ค. ๊ทธ๋์ Integer.parseInt(sb.toString())์ ์ฌ์ฉํ์ฌ ๋ณํํด์ผ ํ๋ค. ํ๋ฆฐ ์ฝ๋clas..
๐ 1. ๋ฌธ์ ์ค๋ช
๐ก 2. ์ ๋ต์ฝ๋๐
๐ปโ๏ธ ์ฒซ ๋ฒ์งธ ์๋ - ํ๋ฆผ โํ๋ก๊ทธ๋๋จธ์ค ์ฝ์์ด ์๋์์ฑ์ด ์ ๋๊ธฐ ๋๋ฌธ์ ์๊ฐ๋๋๋ฐ๋ก ์จ์ ๋ง์ด ํ๋ ธ๋ค.class Solution { public String solution(String str1, String str2) { StringBuilder sb = new StringBuilder(); for(int i = 0; i ์ค๋ต ์ ๋ฆฌโญ str1.length → str1.length() length๋ ๋ฐฐ์ด์์ ์ฌ์ฉ๋๊ณ , ๋ฌธ์์ด์์๋ length() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋ค. โญ sb.add(...) → sb.append(...)StringBuilder๋ add() ๋ฉ์๋๊ฐ ์๊ณ , ๋์ append()๋ฅผ ์ฌ์ฉํด์ผ ํ๋ค.โญ st..
1. ์๋ฐ์ ์๋ฃํ String Buffer๋ฅผ ์ค๋ช
ํ๊ธฐ์ ์์ ์๋ฐ์ ์๋ฃํ์๋ ๊ธฐ๋ณธํ(Primitive Type)๊ณผ ์ฐธ์กฐํ(Reference Type)์ด ์๋ค. ๊ธฐ๋ณธํ์ ๊ฐ ์์ฒด๋ฅผ ์ ์ฅํ๋ ํํ๋ก ์ ์ํ, ์ค์ํ, ๋ฌธ์ํ(char), ๋
ผ๋ฆฌํ์ด ๊ธฐ๋ณธํ์ ์ํ๋ค. ๋ฐ๋ฉด, ์ฐธ์กฐํ ์ฃผ์๊ฐ์ ๋ด๊ณ ์์ผ๋ฉฐ, ์ค์ ๋ก๋ ์ฃผ์๊ฐ ๊ฐ๋ฆฌํค๋ ๊ฐ์ฒด๋ ๋ฐฐ์ด ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ์ฐธ์กฐํ๋ ํํ์ด๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก ์๋ฐ์ 8๊ฐ์ง ๊ธฐ๋ณธํ(Primitive Type)์ด ์๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ ์ฐธ์กฐํ์ ์ํ๋ค. ๋ฆฌ์คํธ๋ ๋งต, ์งํฉ์ฒ๋ผ ์ฐ๋ฆฌ๊ฐ ์๋ ์๋ฐ ์ปฌ๋ ์
ํ๋ ์์ํฌ์์ ์ ๊ณตํ๋ ์๋ฃํ๋ค์ด ์ฐธ์กฐํ์ด๋ค. ๊ทธ๋ฆฌ๊ณ ํํ ๋ฌธ์์ด์ด๋ผ๊ณ ๋ถ๋ฅด๋ String๋ ์ฐธ์กฐํ์ ์ํ๋ค. ์ฐธ์กฐํ(Reference Type)- ํด๋์ค (Class): ์ฌ์ฉ์๊ฐ ์ ์ํ ๊ฐ..
์ฌ๋ฌ๋ถ๋ค ์
๋ ฅ๋๊ตฌ Scanner ๋ง์ด ์ฐ์์ฃ ? ๊ทธ๋ฐ๋ฐ ์ฝ๋ฉํ
์คํธ ๋ฌธ์ ํ๋ค ๋ณด๋ฉด Scanner๋ณด๋ค BufferedReader / BufferedWriter์ ๋ ๋ง์ด ์ฐ๊ฒ ๋ฉ๋๋ค.๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ฉด ์ด๋ค ์ ์ด ๋ ์ข์๊น์? ๋ฒํผ๋ฅผ ์ฌ์ฉํ์ง ์๋ ์
๋ ฅ์, ํค๋ณด๋์ ์
๋ ฅ์ด ํค๋ฅผ ๋๋ฅด๋ ์ฆ์ ๋ฐ๋ก ํ๋ก๊ทธ๋จ์ ์ ๋ฌ๋ฐ๋ฉด ๋ฒํผ๋ฅผ ์ฌ์ฉํ๋ ์
๋ ฅ์, ํค๋ณด๋์ ์
๋ ฅ์ด ์์ ๋๋ง๋ค ํ ๋ฌธ์์ฉ ๋ฒํผ๋ก ์ ์กํ๋ค. ๋ฒํผ๊ฐ ๊ฐ๋ ์ฐจ๊ฑฐ๋ ๊ฐํ ๋ฌธ์๊ฐ ๋ํ๋๋ฉด ๋ฒํผ์ ๋ด์ฉ์ ํ ๋ฒ์ ํ๋ก๊ทธ๋จ์ ์ ๋ฌ์ฆ, ์
๋ ฅ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ๋ชจ์์ ์ ๋ฌ Scanner๋ ๋ฐ์ดํฐ๋ฅผ ํ ํฐ ๋จ์๋ก ์ฒ๋ฆฌํ๊ณ ๋์ด์ฐ๊ธฐ์ ๊ฐํ๋ฌธ์๋ฅผ ๊ฒฝ๊ณ๋ก ํ์ฌ ์
๋ ฅ ๊ฐ์ ์ธ์๊ทธ๋ ๊ธฐ ๋๋ฌธ์ ๋ฐ๋ก ๊ฐ๊ณตํ ํ์๊ฐ ์์ด ํธ๋ฆฌํ๋ค.BufferedReader์ ์
๋ ฅ ๋ฐ์ ๋ฐ์ดํฐ๊ฐ St..
โ
๋ฌธ์ ๋น ๋ฅด๊ฒ ์
๋ ฅ๋ฐ๊ณ ์ถ๋ ฅํ๋ ๋ฌธ์ โ๐ฅ ์
๋ ฅ ์ฒซ ์ค์ ํ
์คํธ์ผ์ด์ค์ ๊ฐ์ T๊ฐ ์ฃผ์ด์ง๋ค. T๋ ์ต๋ 1,000,000์ด๋ค. ๋ค์ T์ค์๋ ๊ฐ๊ฐ ๋ ์ ์ A์ B๊ฐ ์ฃผ์ด์ง๋ค. A์ B๋ 1 ์ด์, 1,000 ์ดํ์ด๋ค. โ๐ฅ ์ถ๋ ฅ ๊ฐ ํ
์คํธ์ผ์ด์ค๋ง๋ค A+B๋ฅผ ํ ์ค์ ํ๋์ฉ ์์๋๋ก ์ถ๋ ฅํ๋ค. โ ๐ก ํ์ด ์๊ฐ์ ํ์ 1.5์ด๋ค. ๋ฐ๋ผ์ Scanner๋ฅผ ์ฌ์ฉํ๋ฉด ์๊ฐ์ด๊ณผ๋ก ์ค๋ต์ฒ๋ฆฌ ๋๋ค. System.out.printn ๋ ์ฌ์ฉํ๋ฉด ์๊ฐ์ด๊ณผ๋๋ค. 1000๋ง๊ฐ์ ์ซ์๋ฅผ ์
๋ ฅ ๋ฐ์ ๋ ๊ธฐ์ค์ผ๋ก Scanner๋ฅผ ์ด์ฉํ๋ฉด ์ํ์๊ฐ 6์ด ๊ฑธ๋ฆฐ๋ค. ํ์ง๋ง BufferedReader์ ์ฌ์ฉํ๋ฉด 0.9์ด ๋ฐ์ ๊ฑธ๋ฆฌ์ง ์๋๋ค. ์ด์ฒ๋ผ Scanner์ BufferedReader์ ์๋๋ ํฌ๊ฒ ์ฐจ์ด๋๋ค, ๋ฐ๋ผ์ ์
๋ ฅ์ด ๋ง์..