https://programmers.co.kr/learn/courses/30/lessons/12899
[풀이]
- 구현 관련한 문제였습니다.
- 처음에는 배열을 사용하지 않고 단순하게 while 반복문 안에서 식을 전개하였는데 이는 효율성에서 점수를 얻지 못했습니다.
- 그렇기에 배열에 4,2,1을 초기화 한 후, 이 배열의 값을 answer 변수에 추가하는 식으로 변경했습니다.
- 1,2,4 3개의 숫자를 이용하기 때문에 3으로 나눈 후, 나머지가 0일 경우에는 4를 넣는 식으로 진행해야 합니다.
[코드]
public String solution(int n) {
String answer = "";
int temp;
while (n > 0) {
temp = n % 3;
n /= 3;
if (temp == 0) {
n -= 1;
temp = 4;
}
answer = temp + answer;
}
return answer;
}
- 위의 코드는 효율성에서 통과하지 못했습니다.
public class Solution {
public String solution(int n) {
String answer = "";
String[] arr = {"4","1","2"};
int temp = 0;
while(n > 0){
temp = n % 3;
n /= 3;
if(temp == 0)
n -= 1;
answer = arr[temp] + answer;
}
return answer;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
프로그래머스 : 없는 숫자 더하기 (Java) (0) | 2022.02.12 |
---|---|
프로그래머스 : 방문 길이 (Java) (0) | 2022.02.12 |
프로그래머스 : 부족한 금액 계산하기(Java)(위클리 챌린지 1주차) (0) | 2021.08.02 |
프로그래머스 : 단어 변환(Java) (0) | 2021.07.18 |
프로그래머스 : 네트워크(Java) (0) | 2021.07.18 |