관리 메뉴

The Nirsa Way

[프로그래머스 Lv1] 푸드 파이트 대회 본문

코딩 테스트/프로그래머스

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

KoreaNirsa 2023. 12. 16. 13:00
반응형

 

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

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

문자열을 임시로 담을 temp 배열을 생성하고 food 배열의 i번째 인덱스에 있는 문자열을 2로 나눠 저장합니다. 이후 temp에 담은 원소의 값이 0보다 클 경우 반환할 answer 문자열에 추가 합니다.

int[] temp = new int[food.length];

for(int i=1; i<food.length; i++) {
    temp[i] = food[i]/2;
    if(temp[i]>0) {
        for(int j=0; j<temp[i]; j++) {
            answer += i;
        }
    }
}

 

아래와 같은 테스크 케이스가 있다면 122333 문자열이 answer에 저장됩니다.

 

문자열의 가운데에 0을 추가하고 food 배열의 뒤에서부터 인덱스에 접근하여 뒤에서부터 문자열의 절반만큼 answer 배열에 문자열을 추가하고 반복합니다. 해당 코드를 실행하면 나머지 문자열(0333221)이 저장됩니다.

answer += "0";

for(int i=food.length-1; i>0; i--) {
    temp[i] = food[i]/2;

    if(temp[i]>0) {
        for(int j=0; j<temp[i]; j++) {
            answer += i;
        }
    }
}
반응형