๋ฌธ์ 1๏ธโฃ (๐ ๋ฆฌํธ ์ฝ๋ _ ํน์ ๋ฌธ์๋ฅผ ํฌํจํ ๋ฌธ์์ด ์ฐพ๊ธฐ)
๐ก IDEA : String ๋ด๋ถ ํจ์์ธ indexOf ๋งค์๋๋ฅด ํตํด ์ธ๋ฑ์ค๋ฅผ ํ์ธํ๊ณ , -1 ์ธ ๊ฒฝ์ฐ ํด๋น ๋ฌธ์๋ฅผ ํฌํจํ์ง ์๋ ๊ฒ์ผ๋ก ํ๋จํ์ฌ ๋๋จธ์ง๋ง ์ธ๋ฑ์ค๊ฐ์ ์ ๋ต ๋ฐฐ์ด์ ์ถ๊ฐํ๋ค.
import java.util.List;
import java.util.ArrayList;
class Solution {
public List<Integer> findWordsContaining(String[] words, char x) {
List<Integer> answer = new ArrayList<>();
for (int i=0; i<words.length; i++) {
if (words[i].lastIndexOf(x) >= 0) {
answer.add(i);
}
}
return answer;
}
}
๋ฌธ์ 2๏ธโฃ (๐ ๋ฆฌํธ ์ฝ๋ _ ์ฌ์ด์ฆ ๊ทธ๋ฃน์ ๋ง๊ฒ ํ์ ๊ตฌ์ฑํ๊ธฐ)
๐ก IDEA : ํฌ๋ง ๊ทธ๋ฃน ๋ช ์๋ฅผ ํ์ธํ ์ ์๋ List<Integer>[] ๋ฐฐ์ด์ ์ ์ธํด์ ํด๋น ์ธ๋ฑ์ค ๊ฐ๋ค์ ์๋ง๊ฒ ๋ฃ์ ํ ๋ฆฌ์คํธ๋ก ๋ถํฐ ์ฐจ๋ก๋๋ก ํฌ๋ง ๊ทธ๋ฃน ์ ๋งํผ ๊ตฌ์ฑํ์ฌ answer ๋ฆฌ์คํธ์ ์ถ๊ฐํ๋ค.
import java.util.ArrayList;
import java.util.List;
import java.util.Arrays;
class Solution {
public List<List<Integer>> groupThePeople(int[] groupSizes) {
int[] _groupSizes = Arrays.copyOf(groupSizes, groupSizes.length);
Arrays.sort(_groupSizes);
// (1) ๊ฐ ๊ทธ๋ฃน์ ํด๋นํ๋ index ์ทจํฉ์ ์ํ ๋ฐฐ์ด ์ ์ธ
int min = _groupSizes[0];
int max = _groupSizes[_groupSizes.length-1];
List<Integer>[] count = new ArrayList[max+1];
for (int i=0; i<count.length; i++) {
count[i] = new ArrayList<>();
}
// (2) index ์ทจํฉ
for (int j=0; j<groupSizes.length; j++) {
count[groupSizes[j]].add(j);
}
// (3) ์กฐํฉ ํ answer ๋ฆฌ์คํธ์ ๋ด๊ธฐ
List<List<Integer>> answer = new ArrayList<>();
int size = 0;
ArrayList<Integer> arr = new ArrayList<>();
for (int i=min; i<count.length; i++) {
List<Integer> cnt = count[i];
size = cnt.size();
if (size == 0) continue;
for (int j=0; j<size; j++) {
System.out.println(j%i);
if (j % i == 0) {
arr = new ArrayList<>();
}
arr.add(cnt.get(j));
System.out.println(cnt.get(j));
if ((j+1) % i == 0) {
answer.add(arr);
}
}
}
return answer;
}
}
โก๏ธ ํต๊ณผํ๊ธฐ๋ ํ์ง๋ง ๋ฐํ์์ด ํ๊ท ์ ๋นํด ๊ธด ํธ์ด๋ผ ์ข ๋ ์งง์ ๋ก์ง์ ์๊ฐํด๋ณด์์ผ ํ ๊ฒ ๊ฐ๋ค.
'TIL ๐' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| TIL (2024.06.20) (0) | 2024.06.21 |
|---|---|
| TIL (2024.06.15) (0) | 2024.06.16 |
| TIL (2024.06.14) (0) | 2024.06.15 |
| TIL (2024.06.13) (1) | 2024.06.15 |
| TIL (2024.06.12) (0) | 2024.06.13 |