-
[프로그래머스] 푸드 파이트 대회 자바코딩테스트 2025. 4. 1. 19:20반응형
https://school.programmers.co.kr/learn/courses/30/lessons/134240
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제
칼로리가 낮은 순서대로 음식별 수 목록 food를 사용하여 음식배치 answer를 만들어 반환하라.
제한사항
1.food[0] 은 항상 물을 의미하는 '0' 의 갯수이며 1이다.
2.answer의 정중앙값은 항상 "0"이다.
3.answer의 양 끝~ 정중앙까지 칼로리가 낮은 음식 ~ 높은 음식 순서로 배치하되
두 사람이 사용해아 하므로 food[i] % 2 개는 버린다.접근
정중앙을 기준으로 왼쪽의 음식배치를 만들고 그 후 "0"을 붙인 뒤 왼쪽배치를 거꾸로 오른쪽에 붙여 반환하도록 하였다.
public String solution(int[] food){ StringBuilder answer = new StringBuilder(); for(int i = 1; i < food.length; i++){ int cnt = food[i] / 2; // 배치 갯수 while(cnt > 0){ answer.append(i); cnt --; } } answer.append(0); char[] chars = answer.toString().toCharArray(); for(int i = chars.length -2; i >= 0; i--){ answer.append(chars[i]); } return answer.toString(); }
반응형'코딩테스트' 카테고리의 다른 글
[프로그래머스] 옹알이 자바 substring (0) 2025.04.02 [프로그래머스] 햄버거 만들기 자바 : 스택 (0) 2025.04.01 [프로그래머스] 과일 장수 자바 최소값 계산 : 내림차순 정렬 (0) 2025.04.01 [프로그래머스] 기사단의 무기 자바. 모든 숫자의 약수의 개수 구하기 (0) 2025.04.01 [프로그래머스] 명예의 전당 (1) 자바, 최소값, 정렬 (0) 2025.03.31