본문 바로가기

iOS 앱 개발자 프로젝트/알고리즘 코드카타

[Algorithm] 피자 나눠먹기 #2 (w/ Swift & Python)

머쓱이는 #1에서 7조각으로 잘라 팔던 피자를 6조각으로 잘라 팔기 시작했는데..

사실 피자를 7조각으로 나누는 건 불가능했다..

#1은 문제 오류 아닌가?   

 

 

피자 나눠먹기

문제 설명

머쓱이네 피자가게는 피자를 여섯 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 매개변수로 주어질 때, n명이 주문한 피자를 남기지 않고 모두 같은 수의 피자 조각을 먹어야 한다면 최소 몇 판을 시켜야 하는지를 return 하도록 solution 함수를 완성해보세요.

 

제한사항
  • 1 ≤  n  ≤ 100

 

  • solution.swift
import Foundation 

func solution(_ n:Int) -> Int {    
	var result = 1    
	while true {        
		if (6 * result) % n == 0 {            
			return result        
		}        
		result += 1    
	}
}

 

 

먼저, result 변수를 1로 초기화하여 피자 상자의 수를 나타낸다. 그리고 while을 사용한 무한 반복문을 실행한다.

6 * result를 n으로 나눈 나머지가 0인지 확인한 후, 만약 0이라면 result를 반환하고 함수는 종료.

0이 아니라면 result에 1을 증가시키며 이 과정을 n이 100이 될 때까지 반복시켰다.

즉, n으로 나누어 떨어지는 6 * result 값을 찾을 때까지 result 값을 1씩 증가시키는 과정을 반복 수행하게 했다. 

 

 

  • solution.python
def solution(n):
  answer = 1
  while (answer*6) % n !=0:
    answer+=1
  return answer

swift와 마찬가지로, 먼저 answer 변수를 1로 초기화하여 피자 상자의 수를 나타낸다. 그리고 while을 사용한 무한 반복문을 실행한다. 그리고 answer를 6으로 곱한 값이 n으로 나누어 떨어지지 않을 때까지 반복한다.