https://school.programmers.co.kr/learn/courses/30/lessons/134240
food[]에 어떻게 값을 넣을지 고민했었는데 프로그래머스는 그냥 풀이식만 넣고 돌리면 food 배열에 무슨 값을 넣을지는 알아서 해주더라..
풀이는 굉장히 간단하다고 느끼나 정답을 도출하는 과정이 꽤 걸렸다, 실력을 올려서 시간을 단축하자
#문제 접근
food 배열의 요소는 칼로리가 낮은 음식부터 차례대로 들어가며 요소 값은 해당 음식의 갯수이다.
출력은 배열의 0번 째 음식을 중간에 두고 좌우 대칭으로 1번째 부터 (음식 갯수/2)만큼 배치된다.
그렇기에 출력값에서 0을 기준으로 좌측에는 문자열 foodFront,우측에는 foodBack을 넣고 최종적으로 answer에 넣고 합쳤다.
foodFront에는 food[0]을 제외한 food 배열의 값들을 2로 나눈 몫만큼 반복해서 foodFront에 food[i] 순서들을 대입하였다.
foodback은 foodFront의 반대로
class Solution {
public String solution(int[] food) {
String answer = "";
String foodFront = "";
String foodBack = "";
for(int i=1; i<food.length; i++) {
int f = (food[i]/2);
for(int j=1; j<= f; j++) {
foodFront = foodFront + Integer.toString(i);
}
}
for(int i=food.length-1; i>=1; i--) {
int b = (food[i]/2);
for(int j=b; j>=1; j--) {
foodBack = foodBack + Integer.toString(i);
}
}
answer = foodFront + "0" +foodBack;
return answer;
}
}
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 / 문자열 나누기 / JAVA ] (0) | 2023.01.12 |
---|---|
[프로그래머스 / 가장 가까운 같은 글자 / JAVA ] (0) | 2023.01.09 |
[프로그래머스 / 크기가 작은 부분 문자열 / JAVA ] (0) | 2023.01.08 |
[프로그래머스 / 기사단원의 무기 / JAVA ] (1) | 2023.01.05 |
[프로그래머스 / 콜라문제 / JAVA ] (1) | 2022.12.30 |
댓글