💡 문제

💬 입출력 예시

📌 풀이(소스코드)
class Solution {
public String solution(int[] food) {
String answer = "";
for (int i = 1; i < food.length; i++) {
if (food[i] >= 2) {
food[i] = food[i] / 2;
for (int j = 0; j < food[i]; j++) {
answer += Integer.toString(i);
}
}
}
answer += Integer.toString(0);
for (int i = answer.length() - 2; i >= 0; i--) {
answer += answer.charAt(i);
}
return answer;
}
}
📄 해설
- 아래와 같이 해결하였음
- 음식의 양이 2 미만인 경우, 담지 않음
- 2 이상일 경우, 2로 나눈 몫만큼 해당 음식을 담음
- 중간에 물을 추가하고, 앞에서 구한 음식 순서를 역순으로 뒤에 이어붙임
- 다른 사람의 풀이. 더 간결하고 좋은 코드라고 생각함
class Solution {
public String solution(int[] food) {
String answer = "0";
for(int i = 1; i < food.length; i++)
food[i] = food[i] - food[i] % 2;
for(int i = food.length - 1; i >= 1; i--)
for(int j = 0; j < food[i] / 2; j++)
answer = i + answer + i;
return answer;
}
}