728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/134240
풀이
Level 1 문제
문자열 관련 함수만 알고 있으면 쉽게 풀 수 있을 거임 !
StringBuilder로 접근해서 시간을 최대한 줄이려고 했음 !
자세한건 주석으로 !
코드
// 코딩테스트 연습 - 연습문제 - 푸드 파이트 대회
// https://school.programmers.co.kr/learn/courses/30/lessons/134240
package PROGRAMMERS.level1;
public class Num134240_푸드파이트대회 {
private static class Solution {
public String solution(int[] food) {
for (int i = 1; i < food.length; i++) {
food[i] = food[i] / 2; // ((대회에 쓰일 만큼)/2)으로 최신화
}
StringBuilder sb = new StringBuilder();
for (int i = 1; i < food.length; i++) {
for (int j = 0; j < food[i]; j++) {
sb.append(i); // 연달아 sb에 붙여주기
}
}
StringBuilder answer = new StringBuilder();
answer.append(sb); // 음식
answer.append(0); // 물
answer.append(sb.reverse()); // 음식 거꾸로
return answer.toString();
}
public static void main(String[] args) {
Solution sol = new Solution();
System.out.println(sol.solution(new int[]{1, 3, 4, 6}));
System.out.println(sol.solution(new int[]{1, 7, 1, 2}));
}
}
}
728x90