728x90
문제
https://school.programmers.co.kr/learn/courses/30/lessons/134240
해설
특정 숫자를 주어진 횟수만큼 앞, 뒤로 대칭되는 문자열로 만들어 출력하는 문제였습니다.
쉬운 문제이면서도 효율적으로 해결하는 방법이 여러개가 됩니다.
StringBuilder를 사용해 어떤 함수들로 이런 경우에 사용할 수 있는지 보고(repeat, reverse)
String의 내부에서 + 연산자를 사용을 자유롭게 사용 할 수 있음을 알게됩니다.
코드
1번코드 (StringBuilder 사용)
class Solution {
public String solution(int[] food) {
StringBuilder sb = new StringBuilder();
for (int i = 1; i < food.length; i++) {
sb.append(Integer.toString(i).repeat(food[i] / 2));
}
return sb.toString() + "0" + sb.reverse().toString();
}
}
2번코드 (String의 +연산자 사용)
class Solution {
public 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
'[IT] 코딩테스트 > [문제 및 풀이] 프로그래머스' 카테고리의 다른 글
[프로그래머스] 주차 요금 계산 / 자바(Java) (0) | 2023.11.07 |
---|---|
[프로그래머스] 두 큐 합 같게 만들기 / 자바(Java) (0) | 2023.11.06 |
[프로그래머스] 성격 유형 검사하기 / 자바(Java) (1) | 2023.11.01 |
[프로그래머스] 이모티콘 할인행사 / 자바(Java) (0) | 2023.10.31 |
[프로그래머스] 택배상자 / 자바(Java) (2) | 2023.10.30 |