0_ch4n
기계쟁이\n개발자
0_ch4n
0chn.xxx@gmail.com @0ch._.n
전체 방문자
오늘
어제

공지사항

  • All (282)
    • 🖥 CS (21)
      • 네트워크 (12)
      • 운영체제 (3)
      • 자료구조 (2)
      • Web (4)
    • 🧠 Algorithm (185)
      • [C] BOJ (93)
      • [JAVA] Programmers (91)
    • 📚 Study (69)
      • HTML&CSS (19)
      • MySQL (11)
      • JAVA (22)
      • Servlet&JSP (8)
      • Thymeleaf (2)
      • Spring (5)
      • JPA (2)
    • 📖 Book (1)
    • 📃 Certification (6)
      • 정보처리기사 (6)

인기 글

최근 글

최근 댓글

태그

  • 프로그래머스
  • 카카오
  • 코테
  • Programmers
  • til
  • 코딩테스트
  • CSS
  • 자바
  • kakao
  • java

블로그 메뉴

  • 홈
  • 태그
  • 방명록

티스토리

hELLO · Designed By 정상우.
0_ch4n

기계쟁이\n개발자

[12899번] 124 나라의 숫자
🧠 Algorithm/[JAVA] Programmers

[12899번] 124 나라의 숫자

2022. 7. 24. 19:28
반응형

 

✔️ 문제 설명

124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다.

  1. 124 나라에는 자연수만 존재합니다.
  2. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다.

예를 들어서 124 나라에서 사용하는 숫자는 다음과 같이 변환됩니다.

자연수 n이 매개변수로 주어질 때, n을 124 나라에서 사용하는 숫자로 바꾼 값을 return 하도록 solution 함수를 완성해 주세요.

 

✔️ 제한 사항

  • n은 500,000,000이하의 자연수 입니다.

 

✔️ 입출력 예

 

✔️ 코드 구상

n을 3진법으로 구하는 문제에서 약간 변형된 문제이다. 우선 아래 표를 생각하면 쉽게 이해될 것이다.

10진법 3진법 124 나라
1 1 1
2 2 2
3 10 4
4 11 11
5 12 12
6 20 14
7 21 21
8 22 22
9 100 24
10 101 41
11 102 42
12 110 44
13 111 111
14 112 112
15 120 114

여기서 포인트는 3진법은 0, 1, 2로 나타내고 124 나라는 1, 2, 3(4)로 나타낸다.

n을 3으로 나눈 나머지의 값에 대해 배열의 인덱스를 통해서 0, 1, 2를 각각 1, 2, 4로 값이 나오게끔 해주면 되는데

3으로 나누어 떨어지는 경우 0이 나오게 되고 기대값 4가 아닌 1이 나오게 되기 때문에

n을 1씩 빼서 나누어 떨어지지 않게 해줘야 한다.

 

✔️ 코드

class Solution {
    public String solution(int n) {
        String answer = "";
        String[] arr = {"1", "2", "4"};

        while(n > 0) {
            n--;
            answer += arr[n % 3];
            n /= 3;
        }

        StringBuffer sf = new StringBuffer(answer);
        answer = sf.reverse().toString();

        return answer;
    }
}

 

📄 원문

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형
저작자표시 (새창열림)

'🧠 Algorithm > [JAVA] Programmers' 카테고리의 다른 글

[12941번] 최솟값 만들기  (0) 2022.07.26
[49994번] 방문 길이  (0) 2022.07.25
[42746번] 가장 큰 수  (0) 2022.07.24
[68936번] 쿼드압축 후 개수 세기  (0) 2022.07.22
[17683번] 방금그곡  (0) 2022.07.21
    0_ch4n
    0_ch4n
    while(true) { study(); }

    티스토리툴바