유클리드 호제법을 사용해서 최대공약수를 구하는 함수를 구현할 수 있습니다. a, b에 대해서 a를 b로 나눈 나머지를 r이라 하면(단, a>b), a와 b의 최대공약수는 b와 r의 최대공약수와 같다. 이 성질에 따라, b를 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 a와 b의 최대공약수이다. - 위키백과 유클리드 호제법 구현방법 func gcd(a: Int, b: Int) -> Int { var a = a var b = b while b != 0 { let r = a%b a = b b = r } return a } gcd(a: 24, b: 12) // returns 12 기본적으로 제공되는 Swift 함수의 파라미터는 상..
생각날 때마다 추가 중 : 2021월 6월 8일 readLine 함수 Swift로 알고리즘 문제를 풀 때, 백준 알고리즘처럼 입력을 받아야 할 때 Swift는 readLine() 함수를 써야 합니다. Playground에선 이 함수를 사용할 수 없고 위의 순서대로 Command Line Tool로 프로젝트를 생성해야 합니다. readLine() 코드를 구현하면 콘솔 창에 자유롭게 텍스트를 입력할 수 있습니다. 문제에서 주어진 데이터가정수인 경우로 가정한 예시입니다. 문제에 주어진 경우의 데이터가 문자열 또는 다른 형식일 경우 알맞은 타입으로 변경하세요. 또 문제 풀기에선 nil을 입력받을 경우가 없기 때문에 강제 언래핑(!)을 사용했습니다. 1. 한 줄만 입력받는 경우 let inputValues = I..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..