알고리즘_29번-2021.11.11

Jonguk Kim·2021년 11월 11일
0

알고리즘

목록 보기
10/15

1. 문제: 3진법 뒤집기

  • 문제 설명

    자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요.

  • 제한사항

    n은 1 이상 100,000,000 이하인 자연수입니다.

  • 입출력 예


2. 설계 및 구현

  • 분류
    • 입력값: 자연수 n int
    • 처리: n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수
    • 출력값: int
  • 생각
    • n을 3진법으로 표현 = >
    • 10으로 나눈 나머지 / 몫 이용 해서 앞뒤 반전
    • 10진법으로 표현
  • 성공코드
import java.util.*;

public class Solution {
    public int[] solution(int []arr) {
        int[] result = {};
        ArrayList<Integer> arrList = new ArrayList<>(); // 반복되는 숫자 제외하고 담기 위해 선언
        int num = arr[0];
        
        for (int i = 0; i < arr.length; i++){
            if (num == arr[i]){
                continue;    
            }
            else{
                arrList.add(arr[i-1]);
                num = arr[i];
            }
        }
        
        result = new int[arrList.size()];
        for (int i = 0; i < result.length; i++){
            result[i] = arrList.get(i);
        }

        return result;
    }
}
  • 참조코드

3. 배운 것 / 느낀점

  • 성공코드:
  • 참조코드:
profile
개발일지

0개의 댓글