[프로그래머스 LV1] 푸드 파이트 대회

popolarburr·2023년 3월 7일
0
post-thumbnail

- 문제




- 풀이


class Solution {
    public String solution(int[] arr) {
        String water = "0";

        String tmp = "";
        for (int i = 1; i < arr.length; i++) {
            if (arr[i] % 2 == 0) {
                if (arr[i] >= 2) {
                    tmp += String.valueOf(i).repeat(arr[i] / 2);
                }
            } else {
                tmp += String.valueOf(i).repeat(arr[i] / 2);
            }
        }

        StringBuilder sb = new StringBuilder(tmp);

        String rev = sb.reverse().toString();


        return tmp + water + rev;
    }
}

- 정리

처음엔 꽤나 간단하다고 시작했던 문제인데 구현하는 단계에서 생각보다 고전했다. 우선 reverser하는 법을 어렴풋이 알고 있었지만, 기억을 해내지 못했다. 또한 0을 기준으로 좌우가 대칭한다는 사실만 인지하고 쉬운 방법(0까지만 for문을 돌리는 것)을 생각하지 못하고 효율적이지 못한 방식을 사용했다. 이렇게라도 메서드를 한번씩 사용하면서 더 생각나게 하는 것이 중요하겠다.




[링크] : 개인저장소

profile
차곡차곡

0개의 댓글