728x90
public List<String> fizzBuzz(int n) {
if (n==0) {
return Collections.emptyList();
}
List<String> answer = new ArrayList<>();
for (int i = 1; i <=n; i++) {
if (i%3 == 0 && i%5 == 0) {
answer.add("FizzBuzz");
} else if (i%3 == 0) {
answer.add("Fizz");
} else if (i%5 ==0) {
answer.add("Buzz");
} else {
answer.add(String.valueOf(i));
}
}
return answer;
}
모듈러를 사용하여 각각 3으로 나누는 경우, 5로 나누는 경우 그리고 3과 5로 나눌경우 0인 케이스를 나눠 풀었다.
스위치 케이스 사용해서 풀기도 가능하다.
다른 솔루션을 보니 크게 다르진 않은데 좀 요상한 솔루션이 있다.
class Solution {
public List<String> fizzBuzz(int n) {
return new AbstractList<>() {
@Override
public String get(int index) {
return switch (++index % 15) {
case 0 -> "FizzBuzz";
case 3, 6, 9, 12 -> "Fizz";
case 5, 10 -> "Buzz";
default -> String.valueOf(index);
};
}
@Override
public int size() {
return n;
}
};
}
}
이거 뭐임?
진짜 뭐임?
728x90
'알고리즘' 카테고리의 다른 글
[LeetCode] 100. Same Tree (0) | 2023.12.04 |
---|---|
array partition (0) | 2023.09.30 |
Leet Code 1672 (0) | 2023.07.25 |
Leet Code 1480 (0) | 2023.07.25 |
[백준] N과 M (4) [자바/Java] (0) | 2020.07.19 |