코딩테스트
문제 설명 두 정수 a, b가 주어졌을 때 a와 b사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인경우 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. a와 b의 대소관계는 정해져있지 않습니다. 입출력 예 a b return 3 5 12 3 3 3 5 3 12 두 정수 사이의 합을 구해야 하므로 for문을 이용하여 a와 b사이의 숫자를 변수로 받아 더해줬음. 두 수 사이의 대소관계가 정해져 있지 않는 것이 조건이므로 if문을 사용하여 a가 b보다 클 때, 혹은 b가 a보다 클 때를 조건으로 넣어줌.
문제 설명 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8 = 9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. 제한 조건 x는 1이상, 10000이하인 정수입니다. 입출력 예 x return 10 true 12 true 11 false 13 false 입출력 예 설명 입출력 예 #1 10의 모든 자릿수의 합은 1입니다. 10은 1로 나누어 떨어지므로 10은 하샤드 수입니다. 입출력 예 #2 12의 모든 자릿수의 합은 3입니다. 12는 3으로 나누어 떨어지므로 12는 하샤드 수입니다. 입출력 예 #3 11의 모든 자릿수의 합은 ..
문제설명 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지를 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항 n은 1이상, 50000000000000 이하인 양의 정수입니다. 입출력 예 n return 121 144 3 -1 입출력 예#1 121은 양의 정수 11의 제곱이므로, (11+1)를 제곱한 144를 리턴 입출력 예#2 3은 양의 정수의 제곱이 아니므로, -1을 리턴 for문 안에 if문을 사용하여 1부터 n까지의 정수의 제곱이 n과 같아지면 x+1의 제곱을 리턴하도록 작성했고, 여기서 if문에 적합한 결과가 나오지 않는다면 양의 정수가 아닌 경우를 n이 x의제곱..
문제 설명 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+,-)가 올 수 있습니다. s는 부호와 숫자로만 이루어져 있습니다. s는 "0"으로 시작하지 않습니다 입출력 예 예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다. str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다. 문자열을 정수형으로 바꿔주는 구문을 사용함 Int(문자열) = Int(s)!
문제 설명 자연수 n을 뒤집어 각 자리 숫자를원소로 가지는 배열 형태로 리턴해주세요. 예를 들어, n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 입출력 예 n return 12345 [5,4,3,2,1] 우선 n을 각 자릿수 배열로 만들고, for문을 이용해 배열의 끝 부터 다시 저장. 코드를 거꾸로 다시 넣어줄 answer을 만들고 arr배열에 자릿수를 순서대로 넣어주고 for문을 이용하여 arr.count-1만큼 반복하여 끝자리 까지 역순으로 answer에 넣어줌
문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 사항 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 입출력 예 x n answer 2 5 [2,4,6,8,10] 4 3 [4,8,12] -4 2 [-4, -8] int64형식이 주어졌으니 int64의 빈 리스트를 만들어주고, sum = 0으로 설정해줬다. for문을 사용해 0부터 n보다 낮은 수까지 반복해 n개의숫자를 sum이라는 변수에 x값에 x와i를 곱해서 더해주는 것으로 생각. 처음 sum의 i가 0이라는 값이 들어가..
문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해 주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3 ≤ n ≤ 1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. for문에 1로 나누는건 의미가 없으니 1...n이 아닌 2...n 을 넣고, 그 안에..
문제 설명 정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해 주세요. 제한 사항 n은 0 이상 3000 이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수는 1, 2, 3, 4, 6, 12입니다. 이들 모두 더하면 28입니다. 입출력 예 #2 5의 약수는 1, 5입니다. 이들 모두 더하면 28입니다. 우선 약수는 나누었을 때 0으로 떨어지는 수이다. '0'도 정수다. for문을 사용하여 주어진 n을 1..n까지 나누어 나머지가 0이되면 answer에 더한다.