728x90
반응형
문제
https://school.programmers.co.kr/learn/courses/30/lessons/134240
생각
// 1. food size 를 /2 *2 해주기
// 2. 두개의 for문을 돌며 answer += "1" 해주기
코드
public class Main {
public static void main(String[] args) {
System.out.println(solution(new int[] {1, 3, 4, 6})); // 2
}
public static String solution(int[] food) {
String answer = "";
// 1. food size 를 /2 *2 해주기
for (int i = 1; i < food.length; i++) {
food[i] = (food[i]/2)*2;
}
// 2. 두개의 for문을 돌며 answer += "1" 해주기
for (int i = 1; i < food.length; i++) {
if(food[i]!=0) {
int i1 = food[i];
while (i1>0 && i1 != food[i]/2){
i1--;
answer+=i;
}
}
}
answer+="0";
for (int i = food.length-1; i >= 1; i--) {
if(food[i]!=0) {
int i1 = food[i];
while (i1>0 && i1 != food[i]/2){
i1--;
answer+=i;
}
}
}
return answer;
}
}
다른 사람 풀이
- 창의적인 발상이어서 놀랐다.
- 중앙에서 뻗어나가는 방식을 어떻게 생각했을까?
public class Main {
public static void main(String[] args) {
System.out.println(solution(new int[] {1, 3, 4, 6})); // 2
}
public static String solution(int[] food) {
String answer = "0";
for (int i = food.length - 1; i > 0; i--) {
for (int j = 0; j < food[i] / 2; j++) {
answer = i + answer + i;
}
}
return answer;
}
}
728x90
반응형
'Dev > Algorithm' 카테고리의 다른 글
[프로그래머스] 옹알이(2) - Java (0) | 2024.05.28 |
---|---|
[프로그래머스] 햄버거 만들기 - Java (0) | 2024.05.24 |
[프로그래머스] 과일 장수 - Java (0) | 2024.05.24 |
[프로그래머스] 기사단원의 무기 - Java (0) | 2024.05.23 |
[프로그래머스] 가장 가까운 같은 글자 - Java (0) | 2024.05.22 |