ygreenb
yellowgreenblue
ygreenb
전체 방문자
오늘
어제
  • TIL (130)
    • Algorithm & Data Structure (70)
      • 이론 (4)
      • 프로그래머스 (54)
      • 백준 (12)
    • JAVA (4)
    • Android Studio (9)
    • Database (1)
    • WEB (25)
      • HTML+CSS (7)
      • Javascript (5)
      • React (11)
      • Django (1)
      • Node.js (1)
    • Computer Vision (13)
    • Git (8)

블로그 메뉴

  • HOME
  • TAG
  • GITHUB

공지사항

인기 글

태그

  • git bash
  • 백준
  • Comparator
  • 코틀린
  • dfs
  • entrySet
  • React
  • PriorityQueue
  • 안드로이드
  • 해시
  • sort
  • Queue
  • getOrDefault
  • HashMap
  • reactjs
  • stack
  • 프로그래머스
  • java
  • compareTo()
  • 깃
  • 프로그래머스 Lv.2
  • DP
  • Android
  • BFS
  • git
  • greedy
  • Arrays.sort()
  • 스택/큐
  • 깃허브
  • kotiln

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
ygreenb

yellowgreenblue

Algorithm & Data Structure/프로그래머스

[Java] 프로그래머스 Lv.2 > 124 나라의 숫자

2022. 3. 4. 00:07

https://programmers.co.kr/learn/courses/30/lessons/12899?language=java 

 

코딩테스트 연습 - 124 나라의 숫자

 

programmers.co.kr

 

풀이

3진법에서 1,2,3 대신 1,2,4를 사용한다고 생각하고 풀면 된다.

단, 주의할 점은 나머지가 0이 나올 때이다.
0 대신 4를 string에 추가해주고, 다음 몫으로 갈때 n에서 1을 빼고 계산해야한다.

class Solution {
    public String solution(int n) {
        StringBuilder sb = new StringBuilder();
        while(n!=0){
            if(n%3==0) {
                sb.append(4);
                n = (n-1)/3; 
            }
            else {
                sb.append(n%3);
                n = n/3;
            }
        }

        return sb.reverse().toString();
    } 
}

 

다른사람풀이

StringBuilder을 사용하지 않고 푼 방식이다. String 배열을 사용해서 한 문장으로 넣는다는 생각을 못했을까 싶다.

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;
    } 
}
저작자표시 (새창열림)

'Algorithm & Data Structure > 프로그래머스' 카테고리의 다른 글

[Java] 프로그래머스 Lv2 > 삼각 달팽이  (0) 2022.03.06
[Java] 프로그래머스 Lv.2 > 전화번호 목록  (0) 2022.03.04
[Java] 프로그래머스 Lv.2 > 멀쩡한 사각형  (0) 2022.02.28
[Java] 프로그래머스 Lv.2 > 가장 큰 수  (0) 2022.02.28
[Java] 프로그래머스 Lv.2 > 큰 수 만들기  (0) 2022.02.28
    'Algorithm & Data Structure/프로그래머스' 카테고리의 다른 글
    • [Java] 프로그래머스 Lv2 > 삼각 달팽이
    • [Java] 프로그래머스 Lv.2 > 전화번호 목록
    • [Java] 프로그래머스 Lv.2 > 멀쩡한 사각형
    • [Java] 프로그래머스 Lv.2 > 가장 큰 수
    ygreenb
    ygreenb
    개발공부기록장

    티스토리툴바