2023. 10. 4. 14:37ใ์ธํ๋ฐ/์๋ฐ ์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด ์ ๋ฌธ : ์ฝ๋ฉํ ์คํธ ๋๋น
https://hyejin.tistory.com/1198
-> ์ด์ ๋ฌธ์ ํ์ด
3. ๋ฌธ์ฅ ์ ๋จ์ด
์ค๋ช
ํ ๊ฐ์ ๋ฌธ์ฅ์ด ์ฃผ์ด์ง๋ฉด ๊ทธ ๋ฌธ์ฅ ์์์ ๊ฐ์ฅ ๊ธด ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์ธ์.
๋ฌธ์ฅ์์ ๊ฐ ๋จ์ด๋ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋ฉ๋๋ค.
์ ๋ ฅ
์ฒซ ์ค์ ๊ธธ์ด๊ฐ 100์ ๋์ง ์๋ ํ ๊ฐ์ ๋ฌธ์ฅ์ด ์ฃผ์ด์ง๋๋ค. ๋ฌธ์ฅ์ ์์ด ์ํ๋ฒณ์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
์ถ๋ ฅ
์ฒซ ์ค์ ๊ฐ์ฅ ๊ธด ๋จ์ด๋ฅผ ์ถ๋ ฅํ๋ค. ๊ฐ์ฅ ๊ธธ์ด๊ฐ ๊ธด ๋จ์ด๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ ๋ฌธ์ฅ์์์ ๊ฐ์ฅ ์์ชฝ์ ์์นํ
๋จ์ด๋ฅผ ๋ต์ผ๋ก ํฉ๋๋ค.
์์ ์ ๋ ฅ 1
it is time to study
์์ ์ถ๋ ฅ 1
study
๋ฌธ์ ํ์ด 1
public String solution(String input) {
String answer = "";
String[] split = input.split(" ");
for (String word : split) {
if (word.length() > answer.length()) {
answer = word;
}
}
return answer;
}
๐ฉ๐ป๐ป : ๋๋ ์ด ๋ฌธ์ ๋ฅผ ํ ๋ split ์ด ๋ ์ฌ๋ผ์ ๊ณต๋ฐฑ๋จ์๋ก ๋ฌธ์์ด์ ์ชผ๊ฐ๊ณ , ๋จ์ด์ ๊ธธ์ด๊ฐ answer์ ๊ธธ์ด๋ณด๋ค ๊ธด ๊ฒฝ์ฐ์ answer์ ๊ทธ ๋จ์ด๋ฅผ ์ ์ฅํด์คฌ๋ค.
(์ด๋ ๊ธด ๋จ์ด๊ฐ ์ฌ๋ฌ๊ฐ์ผ ๊ฒฝ์ฐ์ ๊ฐ์ฅ ์์ชฝ์ ์์นํ ๋จ์ด๋ฅผ ๋ต์ผ๋ก ํ๊ธฐ ๋๋ฌธ์ >= ๊ฐ๊ฑฐ๋ ํฌ๋ค๋ก ๋น๊ตํ๋ฉด ๋งจ ๋ง์ง๋ง ๋จ์ด๊ฐ ์ ์ฅ๋๊ธฐ ๋๋ฌธ์ ๊ฐ๋ค ๊ธฐํธ๋ฅผ ๋ฃ์ด์ฃผ๋ฉด ์๋๋ค.)
๋ฌธ์ ํ์ด 2
public String solution2(String input) {
String answer = "";
int m = Integer.MIN_VALUE; // ๊ฐ์ฅ ์์ ๊ฐ์ผ๋ก ์ด๊ธฐํ
String[] s = input.split(" ");
for (String x : s) {
int len = x.length();
if (len > m) {
m = len;
answer = x;
}
}
return answer;
}
๐พ : ๊ฐ์ฌ๋์ ๋๊ฐ์ ํ์ด ๋ฐฉ๋ฒ์ ์ ์ํ๋๋ฐ ์ฐ์ ์ฒซ๋ฒ์งธ ํ์ด๋ก๋ ๋์ ๋์ผํ๊ฒ split์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด์๋ค.
๋ฐ๋ก ๋จ์ด ๊ธธ์ด๋ฅผ ๋ณ์๋ก ์ ์ฅํ ๋ค์์ ๊ทธ ๊ธธ์ด๋ฅผ ๋น๊ตํด์ answer์ ๊ฐ์ ์ ์ฅํ๋ค.
๋ฌธ์ ํ์ด 3
public String solution3(String input) {
String answer = "";
int m = Integer.MIN_VALUE, pos;
while ((pos = input.indexOf(' ')) != -1) {
String tmp = input.substring(0, pos);
int len = tmp.length();
if (len > m) {
m = len;
answer = tmp;
}
input = input.substring(pos + 1);
}
if (input.length() > m ) answer = input; // ๋ง์ง๋ง ๋จ์ด ์ฒ๋ฆฌ ํด์ค์ผ ํจ !!
return answer;
}
๐พ : ๋ค์์ indexOf์ subString์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ด๋ค. indexOf(' ')์ ํตํด ๊ณต๋ฐฑ์ด ์๊ธฐ ์ ๊น์ง์ ๋ฌธ์์ด ์์น๋ฅผ ๊ตฌํ๊ณ ๊ทธ ๊ฐ์ด -1์ด ์๋๋๊น์ง ๋ฐ๋ณตํ๋ค. (-1์ด๋ผ๋๊ฑด ์ฃผ์ด์ง ๋ฌธ์์ด์ ๊ณต๋ฐฑ์ด ๋ ์ด์ ์๋ค๋ ๋ป!)
๊ทธ ๋ค์ ๋ฌธ์์ด์ subString์ ํตํด ๊ณต๋ฐฑ ์ ๊น์ง ์ชผ๊ฐ์ ๊ณต๋ฐฑ ์ ๋ฌธ์๋ง ๊ตฌํ๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ ๋จ์ด์ ๊ธธ์ด๊ฐ ํ์ฌ ์ ์ฅ๋ answer์ ๋ฌธ์์ด ๊ธธ์ด๋ณด๋ค ๊ธด ๊ฒฝ์ฐ์ answer์ ๊ทธ ๋จ์ด๋ก ์ ์ฅํ๊ณ , ๋ฌธ์์ด ๊ธธ์ด ๋ณ์ m์๋ ํด๋น ๋ฌธ์์ด์ ๊ธธ์ด๋ก ๋ณ๊ฒฝํด์ค๋ค.
โ๏ธ ๊ทธ๋ฆฌ๊ณ ์ฌ๊ธฐ์ ๋๋๋ฉด ๋ต์ด ์๋์จ๋ค. ์๋ํ๋ฉด ๋ง์ง๋ง ๋ฌธ์๋ฅผ ์ฒ๋ฆฌํ์ง ๋ชปํ๊ธฐ ๋๋ฌธ!!
๋ฐ๋ณต๋ฌธ์ ๋ง์ง๋ง ๋จ์ด๋ ํฌํจํ์ง ๋ชปํ๋๋ฐ ๊ทธ ์ด์ ๋ input.indexOf(' ')์์ -1์ด ๋์ค๊ธฐ ๋๋ฌธ์ด๋ค. ๋ง์ง๋ง ๋จ์ด๋ ๋์ด์ ๊ณต๋ฐฑ์ด ์๊ธฐ ๋๋ฌธ!! ๋ฐ๋ผ์ ๋ง์ง๋ง ๋จ์ด๋ง ๋จ์ input ๋ฌธ์์ด์ด answer ์ ์ ์ฅ๋ ๊ธธ์ด๋ณด๋ค ํด ๊ฒฝ์ฐ์๋ answer์ ๊ฐ์ ๋ณ๊ฒฝํด์ค๋ค.
๋ง์ง๋ง ๋จ์ด๊น์ง ์ฒ๋ฆฌํด์ค ๋ค์์ answer๋ฅผ ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค.
๐ฉ๐ป๐ป : indexOf์ subString์ ์ฌ์ฉํ ์๊ฐ์ ์ ํ ๋ชปํ๋๋ฐ.. IndexOf ์์ผ๋ก ๊ธฐ์ตํด๋๋ค๊ฐ ์จ๋จน์ด์ผ๊ฒ ๋ค ใ ใ