| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 | |
| 7 | 8 | 9 | 10 | 11 | 12 | 13 |
| 14 | 15 | 16 | 17 | 18 | 19 | 20 |
| 21 | 22 | 23 | 24 | 25 | 26 | 27 |
| 28 | 29 | 30 |
- 알고리즘
- spring
- Next.js
- 백엔드
- java
- 프런트엔드
- 스프링
- MySQL
- 자바
- 프로그래머스
- 스프링부트
- JavaScript
- 코드테스트
- 오라클
- 코드 테스트
- 미니정리
- 프론트엔드
- SQL
- 자바스크립트
- 정리
- BACK-END
- 데이터베이스
- 서버
- oracle
- web
- jpa
- node.js
- jsp
- 디자인 패턴
- 쿼리
- Today
- Total
참치코더의 꿈 메모장
알고리즘 88일차 - 프로그래머스 기출 문제(JAVA) / 푸드 파이트 대회 본문

- 각 배열의 원소 위치의 칼로리 만큼 음식의 양의 개수가 선언되어 있는 배열을 받아 왼쪽선수와 오른쪽 선수가 먹을 수 있게
음식을 배치시키고 가운데 물병을 놓은 문제이다. (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
'잡다한 웹지식' 카테고리의 다른 글
| 알고리즘 90일차 - 프로그래머스 기출 문제(JAVA) / 2016년 (3) | 2025.08.11 |
|---|---|
| 알고리즘 89일차 - 프로그래머스 기출 문제(JAVA) / 최소직사각형 (8) | 2025.08.08 |
| 알고리즘 87일차 - 프로그래머스 기출 문제(JAVA) / 예산 (0) | 2025.08.05 |
| 알고리즘 86일차 - 프로그래머스 기출 문제(JAVA) / 삼총사 (0) | 2025.08.05 |
| 알고리즘 85일차 - 프로그래머스 기출 문제(JAVA) / 최대공약수와 최소공배수 (0) | 2025.08.01 |