공부해 codingTest

프로그래머스 JAVA Level 1. 푸드 파이트 대회

러쉬허쉬 2023. 2. 8. 00:36

Level 1. 푸드 파이트 대회

https://school.programmers.co.kr/learn/courses/30/lessons/134240

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

1. 통과

 

2. 통과 코드

 

3. 풀이

(1) 주어진 배열의 0번째 인덱스는 물을 나타내고, 1번째 인덱스부터는 각 인덱스번째 음식의 개수를 나타낸다.

     또한 양 끝에 똑같이 배치해야 하기 때문에 2로 나눴을 때 나머지는 버린다.

     따라서 2중 for문으로 첫번째 for문은 배열의 길이까지 반복하고,

     두번째 for문은 해당 인덱스를 2로 나눠 (int)로 캐스팅한 길이까지 반복한다.

     예를 들어 int[] food = {0, 3}; 이면

     2번째 for문은 0부터 시작해서 1보다 작을때 종료 된다.

(2) 2중 for문으로 반복하면서 해당 음식을 StringBuilder에 추가한다.

(3) 2중 for문이 끝나면 StringBilder는 왼쪽만 음식 세팅이 끝난다.

(4) 이때 이걸 String answer에 StringBuilder(왼쪽) + "0"(물) + StringBuilder에 reverse 메소드 적용(오른쪽)으로 만든다.