참치코더의 꿈 메모장

알고리즘 88일차 - 프로그래머스 기출 문제(JAVA) / 푸드 파이트 대회 본문

잡다한 웹지식

알고리즘 88일차 - 프로그래머스 기출 문제(JAVA) / 푸드 파이트 대회

참치깡 2025. 8. 6. 18:22
728x90

코드 전체 부분

 

 

- 각 배열의 원소 위치의 칼로리 만큼 음식의 양의 개수가 선언되어 있는 배열을 받아 왼쪽선수와 오른쪽 선수가 먹을 수 있게

  음식을 배치시키고 가운데 물병을 놓은 문제이다. (food 배열의 0번째가 물병으로 간주) 

 

- 2명이서 경기를 하는 음식배치를 하는것이기 때문에 결국 물병을 기준으로 대칭을 이루게 된다. 따라서 물병을 마지막으로 

  한사람의 음식배치 패턴을 구하면 나머지 인원은 물병을 기준으로 대칭을 놔주면 되기 때문에 일단 1사람의 패턴을 구했다.

 

- for문을 돌리고 2명이서 진행하기 때문에 2로 나눠서 음식을 배치 할 수 있을 경우에 해당 음식을 answer이라는 식탁에 

  1인분을 배치해 주었다. 

 

- for문이 종료가 되면 1인분 대결 식탁이 완성되고, 물병을 놓기전에 해당 문자열을 반대로 뒤집기 위해 reverse메서드를 

  사용하여 문자열을 반대로 뒤집어 반대쪽 식탁의 위치에 해당 음식을 배치하였다.

 

- 그리고 if 문을 사용하여 food[0]번이 물병이라고 가정한다고 했으므로 만약 물병이 있다면, 왼쪽 사람 식탁 가장 끝부분에 

  += 0 을 하여 물병을 배치해 주었다.

 

- 이제 남온 식탁 2개를 합치면(answer + answer2) 최종 대결 식탁을 만들 수 있다. ^^

 

https://school.programmers.co.kr/questions/89883

 

프로그래머스

SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

728x90
Comments