124숫자의 나라

이준경·2021년 5월 30일
0

<나의풀이>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class Solution {
    public String solution(int n) {
        String answer = "";
        StringBuffer sb = new StringBuffer(); 
 
        for(int i=n; i>0; i/=3){
            int num = i%3;
 
            if(num==0){
                num=4;
                i--;
            }
            sb.insert(0,num);             
        }
        answer = sb.toString();
        return answer;
    }
}
cs
  1. num에 나머지를 대입
  2. num==0 이면 4를 대입하고 i--;
  3. StringBuffer에 insert를 이용하여 대입.
  4. answer에 대입하고 리턴

<다른사람풀이>

1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
  public String solution(int n) {
      String[] num = {"4","1","2"};
      String answer = "";
 
      while(n > 0){
          answer = num[n % 3+ answer;
          n = (n - 1/ 3;
      }
      return answer;
  }
}
cs
  1. String 배열에 4,1,2를 순서 대로 대입.
    (int로 할 경우 string으로 형변환을 하기 때문에 시간이 더 오래걸림. 따라서 String 배열에 주고 시간을 단축함.)
  2. 나머지에 맞는 string을 answer 앞에 붙혀서 대입.
  3. n=(n-1)/3 대입.

0개의 댓글

관련 채용 정보