KWiOS
KWiOS0101
KWiOS
  • 분류 전체보기 (108)
    • Algorithm (41)
      • 이코테 (14)
      • 이코테 문제풀이 (21)
      • 프로그래머스 (6)
    • CS (1)
      • 모두를 위한 컴퓨터 과학(CS50 2019) (0)
    • iOS (15)
    • Swift (36)
      • Swift문법 (32)
      • 기타 (4)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 6

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
KWiOS

KWiOS0101

그리디 - 1이 될 때까지(Swift)
Algorithm/이코테 문제풀이

그리디 - 1이 될 때까지(Swift)

2022. 6. 10. 16:53
본 내용은 '이것이 취업을 위한 코딩테스트다 with 파이썬' 책을 기반으로 포스팅 하였습니다.

 

문제

저작권 문제가 될 수 있어 문제는 삭제합니다.

 

풀이코드

입력 출력
25 5 2
var n = 25
let k = 5
var count = 0

while true {
    if n % k != 0 {
        n = n - 1
        count += 1
    } else {
        n = n / k
        count += 1
    }
    
    if n == 1 {
        break
    }
}

print(count) // 2

 

문제 풀이

1. n이 k의 배수가 될때까지 1씩 빼주면서 1씩 카운트 증가

2. n이 k의 배수라면 n을 k로 나눈 몫을 n에 넣어주고 카운트 증가 

3. 위 과정을 반복하면서 n이 1이 되었을때 break로 while문 탈출 

※ 여기서 n을 k로 최대한 많이 나누는것이 반복횟수를 줄일수 있는 방법이다.

 

'Algorithm > 이코테 문제풀이' 카테고리의 다른 글

구현 - 시각(Swift)  (0) 2022.06.10
구현 - 상하좌우(Swift)  (0) 2022.06.10
그리디 - 숫자 카드 게임(Swift)  (0) 2022.06.10
그리디 - 큰 수의 법칙(Swift)  (0) 2022.06.10
그리디 - 거스름돈(Swift)  (0) 2022.06.09
    'Algorithm/이코테 문제풀이' 카테고리의 다른 글
    • 구현 - 시각(Swift)
    • 구현 - 상하좌우(Swift)
    • 그리디 - 숫자 카드 게임(Swift)
    • 그리디 - 큰 수의 법칙(Swift)
    KWiOS
    KWiOS

    티스토리툴바