๐ก ๋ฐฐ์ด์ ์๋ ๋ฌธ์์ด ์ค ๋ฌธ์์ด ๊ธธ์ด๊ฐ ๊ฐ์ ๋ฌธ์์ด๋ค ๋ผ๋ฆฌ ๋ฌถ์์ ๋
๊ทธ ๊ฐ์๊ฐ ๊ฐ์ฅ ๋ง์ ์งํฉ์ ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋ฆฌํดํ๋ค.
๐ฅน ์ด ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ์ ๊ทผ๋ฐฉ๋ฒ์ ๊ณ์ ๋ฐ๊พธ๋ฉด์ ๊ณ ์์ ํ๋ค..ใ
1) ๋ฌธ์์ด ์ต๋ ๊ธธ์ด๋งํผ์ ๋ฐฐ์ด์ ์์ฑํด์ค๋ค.
์ด์ ์ด ๋ฐฐ์ด์ 0~29 (1~30) ๊ฐ๊ฐ ๋ฐฐ์ด ์ธ๋ฑ์ค = ๋ฌธ์์ด ๊ธธ์ด์ ํด๋นํ๋
๋ฌธ์์ด์ด ์์ผ๋ฉด 1์ฉ ์นด์ดํธ ๋๋ค.
2) 1~30 == ๋ฌธ์์ด ๊ธธ์ด๋ฅผ ๋น๊ตํด์ฃผ๋ฉด์ ๋ฐฐ์ด๊ฐ์ ์นด์ดํ ํด์ค๋ค.
(์ด๋ ๋ฐฐ์ด์ 0๋ถํฐ ์์ํ๋ฏ๋ก j-1 ํด์ค์ผํ๋ค)
3) ๋ฌธ์์ด ๊ธธ์ด๊ฐ์ด ๊ฐ์ ๊ฐ์ ๊ฐ์๊ฐ ๋ชจ์ฌ์๋ ๋ฐฐ์ด์ด๋ฏ๋ก
๋ฐฐ์ด ์ค ๊ฐ์ฅ ํฐ ๊ฐ์ ๋ฆฌํดํด์ฃผ๋ฉด ๋๋ค.
(= ๋ฌธ์์ด ๊ธธ์ด๊ฐ ๊ฐ๊ณ ์ ์ผ ๋ง์ ์งํฉํฌ๊ธฐ์ ๋ฆฌํดํ๋ผ๊ณ ํ์ผ๋ฏ๋ก)
import java.util.ArrayList;
class Solution {
public int solution(String[] strArr) {
int[] arr = new int[30]; // 0 ~ 29
int answer = 0;
for (int i = 0; i < strArr.length; i++){
for (int j = 1; j <= 30; j++){
if ( strArr[i].length() == j){ // ๊ธธ์ด๋ฅผ 1~30 ๋น๊ต
arr[j-1]++; // ์ธ๋ฑ์ค๋ 0๋ถํฐ
}
}
}
// ์ธ๋ฑ์ค ๊ฐ ์ค ์ ค ํฐ ๊ฐ ๊ตฌํ๊ธฐ
for (int i = 0; i < arr.length; i++){
if(arr[i] > answer){
answer = arr[i];
}
}
return answer;
}
}
์ฒซ๋ฒ์งธ ์๋ ) 2์ฐจ์ ๋ฐฐ์ด
์์์ผ๋ก 1์ฐจ์ ๊ธธ์ด (1~30) , 2์ฐจ์ ๊ธธ์ด๊ฐ ๊ฐ์ ๋ฌธ์์ด๋ค์ ๋ฃ์ด๋ณด๋ ค๊ณ ํ๋ค.
ํด๋ณด๋ ค๊ณ ํ๋๋ฐ ๋จธ๋ฆฌ๋ง ์ํ๊ณ ..... ์๊ฐํด๋ณด๋ 2์ฐจ์ ๋ฐฐ์ด๊น์ง ์ฌ์ฉํ ์ด์ ๊ฐ ์์๋ค. ใ ใ
import java.util.ArrayList;
class Solution {
public int solution(String[] strArr) {
ArrayList<ArrayList<String>> arr = new ArrayList<>();
int answer = 0;
for (int i = 0; i < strArr.length; i++){ // arr ์ํํ๋ฉด์
for (int j = 1; j <= 30; j++){ // ๋ฌธ์์ด ๊ธธ์ด ๋ณ๋ก ๋ฐฐ์ด์ ์ฝ์
arr.add(Integer.toString(j)); // ๊ธธ์ด๊ฐ ๋ฐฐ์ด[]
if (strArr.length == j) // ๊ฐ์ ๊ธธ์ด ๋ผ๋ฆฌ ๋ฐฐ์ด[][]
arr.get(i-1).add(strArr[i]); //2์ฐจ์๋ฐฐ์ด์ ์ฝ์
}
}
int max = 0;
//๊ธธ์ด๊ฐ ๊ฐ์ ๋ฌธ์์ด๋ค , ๊ฐ์๊ฐ ๋ง์ ๊ฒ
for (int i = 0; i < arr.size(); i++){ // ๋ฐฐ์ด[] ๋งํผ
if (arr.get(i).size() > max) { //๋ฐฐ์ด[][] ๋น๊ต
max = arr.get(i);
}
}
return answer;
}
}
๋๋ฒ์งธ ์๋ ) 1์ฐจ์ ๋ฐฐ์ด
์ด ๊ฒฝ์ฐ์๋ ๋ฐฐ์ด์ ๊ธธ์ด ๊ฐ์ ์ฐจ๋ก๋๋ก ๋ฃ์ด์ ๊ทธ ์ค ๊ฐ์ ๊ฐ์ ์ฐพ๊ณ ?
๊ทธ ๊ฐ์๊ฐ ์ ์ผ ๋ง์ ๊ฐ์ ์ฐพ์๋ณด๋ ค๊ณ ํ๋ค.
๊ทผ๋ฐ ๊ธธ์ด๊ฐ์ ์ธ๋ฑ์ค์ ๋งค์นญ์ํค๋ฉด ๋๊ธฐ๋๋ฌธ์ ๊ทธ๋ด ํ์๊ฐ ์์๋ค.
import java.util.ArrayList;
class Solution {
public int solution(String[] strArr) {
String[] arr = new String [30];
int answer = 0; // max
for (int i = 0; i < strArr.length; i++){ // 1) arr ์ํํ๋ฉด์
for (int j = 1; j <= 30; j++){
if (strArr[i].length() == j)
arr[j-1] = strArr[i];
}
}
//๊ธธ์ด๊ฐ ๊ฐ์ ๋ฌธ์์ด๋ค , ๊ฐ์๊ฐ ๋ง์ ๊ฒ
for (int i = 0; i < arr.length; i++){ // ๋ฐฐ์ด[] ๋งํผ
if(arr[i].length()> answer){
answer = arr[i].length();
}
}
return answer;
}
}