고도고도
🍎🍏
고도고도
전체 방문자
8,030
오늘
0
어제
31
  • 분류 전체보기 (151) N
    • 🔨 프로젝트 (0)
      • TP 1 (0)
      • WhiteHCCTV (0)
      • FootPrint (0)
    • 💻 개발 (44) N
      • TIL (16)
      • Android (6)
      • Kotlin (4)
      • Flutter (9)
      • Node.js (5)
      • Error (4) N
    • ✏️ 알고리즘 (6)
      • Graph (6)
      • String (0)
      • Sort (0)
    • ✍️ 코테 준비 (44)
      • Math (1)
      • Implementation (3)
      • String (3)
      • Brute Force (5)
      • Back Tracking (7)
      • Greedy (0)
      • Dynamic Programming (13)
      • Binary Search (1)
      • DFS, BFS (5)
      • Shortest Path (2)
      • Two Pointer (4)
      • MST (0)
    • 📚 CS (6)
      • Operating System (6)
    • ⛹️ 라이프 (51) N
      • 2020 겨울방학 모칵코(팀) (13)
      • 2020 겨울방학 모각코(개인) (13)
      • 2021 여름방학 모칵코(팀) (8)
      • 2021 여름방학 모각코(개인) (7)
      • 코딩 테스트 (1)
      • 회고 (8) N

블로그 메뉴

  • 홈
  • 깃허브
  • 링크드인

인기 글

  • [TIL] 22.03.13
    2022.03.13
    [TIL] 22.03.13
  • [문자열 / Kotlin] 2020 KAKAO⋯
    2022.03.11
    [문자열 / Kotlin] 2020 KAKAO⋯
  • [TIL] 22.03.20
    2022.03.20
    [TIL] 22.03.20
  • [퍼듀 일기] 적응 완료
    2022.03.05
    [퍼듀 일기] 적응 완료
  • [구현 / Kotlin] 2022 SK ICT F⋯
    2022.03.12
    [구현 / Kotlin] 2022 SK ICT F⋯

최근 글

  • [Error / Gradle] mockup1/andr⋯
    2022.08.13
    [Error / Gradle] mockup1/andr⋯
  • [NCSOFT] 2022 NC Summer Inter⋯
    2022.08.10
    [NCSOFT] 2022 NC Summer Inter⋯
  • [Flutter] ModalBottomSheet가⋯
    2022.08.09
    [Flutter] ModalBottomSheet가⋯
  • [Error / Gradle] The current⋯
    2022.08.09
    [Error / Gradle] The current⋯
  • [Flutter / Dart] What is Equa⋯
    2022.08.06
    [Flutter / Dart] What is Equa⋯

최근 댓글

  • NC......가슴이...웅장해집니다⋯
    이상한핑구 🐧
  • 고도고도님 멋져요!
    mjj
  • 잘보고 갑니다~
    개갓세
  • 좋은 글이네요
    날인로세
  • 잘 보고 갑니다^^
    프로퍼티
hELLO · Designed By 정상우.
고도고도

🍎🍏

[프로그래머스] 124 나라의 숫자
✍️ 코테 준비/Implementation

[프로그래머스] 124 나라의 숫자

2022. 6. 9. 20:44

문제

 

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

 

programmers.co.kr

풀이 언어

Python

풀이 방법

우선 진법 변환 문제이다. 좀 특이하긴 한데 3개의 숫자를 사용하므로 3진법을 생각하면 된다. 하지만 10진수 3을 변환했을 때 10이 아니라 4가 나오는 것을 볼 수 있다. 어떻게 변환을 해야하는 것일까? 우선 변환 전과 변환 후를 표로 나타내봤다.

10진법 3진법 124 나라
1 1 1
2 2 2
3 10 4
4 11 11
5 12 12
6 20 14

3으로 나누어 떨어지는 경우에만 특이한 값을 갖는 걸 볼 수 있는데 여기에도 규칙이 있다. 맨 앞 숫자에서 -1 을 하고 뒤의 0을 4로 변환해준다는 점. 즉, 3으로 나누어 떨어지는 경우 몫에서 -1을 해준다는 의미이다.

코드

def solution(n):
    num = ["4", "1", "2"] # 3진수에서 0, 1, 2를 의미
    answer = ''
    
    while n > 0:
        answer = num[n % 3] + answer
        n = n // 3 - (n % 3 == 0)
    
    return answer

결과

저작자표시비영리변경금지

'✍️ 코테 준비 > Implementation' 카테고리의 다른 글

[프로그래머스] 124 나라의 숫자  (0) 2022.06.09
[구현 / Kotlin] BOJ 13459 - 구슬 탈출  (0) 2022.04.04
[구현 / Kotlin] 2022 SK ICT Family 개발자 채용 챌린지 - 2번  (0) 2022.03.12
    '✍️ 코테 준비/Implementation' 카테고리의 다른 글
    • [구현 / Kotlin] BOJ 13459 - 구슬 탈출
    • [구현 / Kotlin] 2022 SK ICT Family 개발자 채용 챌린지 - 2번
    고도고도
    고도고도
    좋아하는 것을 하자\n 스위프트 찍먹중\n 광고 없는 블로그
    댓글쓰기
    이전 글
    [구현 / Kotlin] BOJ 13459 - 구슬 탈출
    • 이전
    • 1
    • 2
    • 3
    • 다음