본문 바로가기

📖 Coding Test206

[프로그래머스 LV.0] 팩토리얼 팩토리얼 문제 설명 i팩토리얼 (i!)은 1부터 i까지 정수의 곱을 의미합니다. 예를 들어 5! = 5 * 4 * 3 * 2 * 1 = 120입니다. 정수 n이 주어질 때 다음 조건을 만족하는 가장 큰 정수 i를 return 하도록 solution 함수를 완성해 주세요. i! ≤ n 제한 사항 0 Int { if n == 1 {return 1} var num = 2, index = 2 while true{ num *= (index+1) if num > n {return index} index += 1 } return index } 누적곱이 n 보다 커질 때까지 1씩 증가시키면서 곱해준다 2022. 12. 30.
[프로그래머스 LV.0] 최댓값 만들기 (1) 최댓값 만들기 문제 설명 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소 중 두 개를 곱해 만들 수 있는 최댓값을 return 하도록 solution 함수를 완성해 주세요. 제한 사항 0 ≤ numbers의 원소 ≤ 10,000 2 ≤ numbers의 길이 ≤ 100 입출력 예 numbers result [1, 2, 3, 4, 5] 20 [0, 31, 24, 10, 1, 9] 744 입출력 예 설명 입출력 예 #1 두 수의 곱 중 최댓값은 4 * 5 = 20입니다. 입출력 예 #2 두 수의 곱 중 최댓값은 31 * 24 = 744입니다. 제출 import Foundation func solution(_ numbers:[Int]) -> Int { let n = numbers.sort.. 2022. 12. 29.
[프로그래머스 LV.0] 합성수 찾기 합성수 찾기 문제 설명 약수의 개수가 세 개 이상인 수를 합성수라고 합니다. 자연수 n이 매개변수로 주어질 때 n이하의 합성수의 개수를 return 하도록 solution 함수를 완성해 주세요. 제한 사항 1 ≤ n ≤ 100 입출력 예 n result 10 5 15 8 입출력 예 설명 입출력 예 #1 10 이하 합성수는 4, 6, 8, 9, 10로 5개입니다. 따라서 5를 return 합니다. 입출력 예 #2 15 이하 합성수는 4, 6, 8, 9, 10, 12, 14, 15로 8개입니다. 따라서 8을 return 합니다. 제출 import Foundation func solution(_ n:Int) -> Int { if n < 4 {return 0} var answer = 0 for i in 4..... 2022. 12. 29.
[프로그래머스 LV.0] 배열 회전시키기 배열 회전시키기 문제 설명 정수가 담긴 배열 numbers와 문자열 direction가 매개변수로 주어집니다. 배열 numbers의 원소를 direction방향으로 한 칸씩 회전시킨 배열을 return 하도록 solution 함수를 완성해 주세요. 제한 사항 3 ≤ numbers의 길이 ≤ 20 direction은 "left"와 "right" 둘 중 하나입니다. 입출력 예 numbers direction result [1, 2, 3] "right" [3, 1, 2] [4, 455, 6, 4, -1, 45, 6] "left" [455, 6, 4, -1, 45, 6, 4] 입출력 예 설명 입출력 예 #1 numbers 가 [1, 2, 3]이고 direction이 "right" 이므로 오른쪽으로 한 칸씩 회전.. 2022. 12. 29.
[프로그래머스 LV.0] 공 던지기 공 던지기 문제 설명 머쓱이는 친구들과 동그랗게 서서 공 던지기 게임을 하고 있습니다. 공은 1번부터 던지며 오른쪽으로 한 명을 건너뛰고 그다음 사람에게만 던질 수 있습니다. 친구들의 번호가 들어있는 정수 배열 numbers와 정수 K가 주어질 때, k번째로 공을 던지는 사람의 번호는 무엇인지 return 하도록 solution 함수를 완성해보세요. 제한 사항 2 = numbers.count{ current -= numbers.count } current += 2 num += 1 } return numbers[current] } 다른 풀이 import Foundation func solution(_ numbers:[Int], _ k:Int) -> Int { return numbers[((k-1)*2) %.. 2022. 12. 29.
[프로그래머스 LV.0] 2차원으로 만들기 2차원으로 만들기 문제 설명 정수 배열 num_list와 정수 n이 매개변수로 주어집니다. num_list를 다음 설명과 같이 2차원 배열로 바꿔 return하도록 solution 함수를 완성해주세요. num_list가 [1, 2, 3, 4, 5, 6, 7, 8] 로 길이가 8이고 n이 2이므로 num_list를 2 * 4 배열로 다음과 같이 변경합니다. 2차원으로 바꿀 때에는 num_list의 원소들을 앞에서부터 n개씩 나눠 2차원 배열로 변경합니다. num_list n result [1, 2, 3, 4, 5, 6, 7, 8] 2 [[1, 2], [3, 4], [5, 6], [7, 8]] 제한 사항 num_list의 길이는 n의 배 수개입니다. 0 ≤ num_list의 길이 ≤ 150 2 ≤ n [[I.. 2022. 12. 28.
[프로그래머스 LV.0] 점의 위치 구하기 중점의 위치 구하기 문제 설명 사분면은 한 평면을 x축과 y축을 기준으로 나눈 네 부분입니다. 사분면은 아래와 같이 1부터 4까지 번호를매깁니다. x 좌표와 y 좌표가 모두 양수이면 제1사분면에 속합니다. x 좌표가 음수, y 좌표가 양수이면 제2사분면에 속합니다. x 좌표와 y 좌표가 모두 음수이면 제3사분면에 속합니다. x 좌표가 양수, y 좌표가 음수이면 제4사분면에 속합니다. x 좌표 (x, y)를 차례대로 담은 정수 배열 dot이 매개변수로 주어집니다. 좌표 dot이 사분면 중 어디에 속하는지 1, 2, 3, 4 중 하나를 return 하도록 solution 함수를 완성해주세요. 제한 사항 dot의 길이 = 2 dot[0]은 x좌표를, dot[1]은 y좌표를 나타냅니다 -500 ≤ dot의 원소.. 2022. 12. 28.
[프로그래머스 LV.0] 구슬을 나누는 경우의 수 구슬을 나누는 경우의 수 문제 설명 머쓱이는 구슬을 친구들에게 나누어주려고 합니다. 구슬은 모두 다르게 생겼습니다. 머쓱이가 갖고 있는 구슬의 개수 balls와 친구들에게 나누어 줄 구슬 개수 share이 매개변수로 주어질 때, balls개의 구슬 중 share개의 구슬을 고르는 가능한 모든 경우의 수를 return 하는 solution 함수를 완성해 주세요. 제한 사항 1 ≤ balls ≤ 30 1 ≤ share ≤ 30 구슬을 고르는 순서는 고려하지 않습니다. share ≤ balls 입출력 예 balls share result 3 2 3 5 3 10 입출력 예 설명 입출력 예 #1 서로 다른 구슬 3개 중 2개를 고르는 경우의 수는 3입니다. 입출력 예 #2 서로 다른 구슬 5개 중 3개를 고르는 .. 2022. 12. 28.
[프로그래머스 LV.0] 가위 바위 보 가위 바위 보 문제 설명 가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요. 제한 사항 0 String { var answer = "" for i in rsp.map{String($0)}{ switch i{ case "2": answer += "0" case "0": answer += "5" case "5": answer += "2" default: break } } return answer } 다른 풀이 func solution(_ rsp:String) -> String { return rsp.map{$.. 2022. 12. 28.
[프로그래머스 LV.0] 모스부호 (1) 모스부호 (1) 문제 설명 머쓱이는 친구에게 모스부호를 이용한 편지를 받았습니다. 그냥은 읽을 수 없어 이를 해독하는 프로그램을 만들려고 합니다. 문자열 letter가 매개변수로 주어질 때, letter를 영어 소문자로 바꾼 문자열을 return 하도록 solution 함수를 완성해 보세요. 모스부호는 다음과 같습니다. morse = { '.-':'a','-...':'b','-.-.':'c','-..':'d','.':'e','..-.':'f', '--.':'g','....':'h','..':'i','.---':'j','-.-':'k','.-..':'l', '--':'m','-.':'n','---':'o','.--.':'p','--.-':'q','.-.':'r', '...':'s','-':'t','..-'.. 2022. 12. 28.
반응형