🔴 문제 문제 설명 한국중학교에 다니는 학생들은 각자 정수 번호를 갖고 있습니다. 이 학교 학생 3명의 정수 번호를 더했을 때 0이 되면 3명의 학생은 삼총사라고 합니다. 예를 들어, 5명의 학생이 있고, 각각의 정수 번호가 순서대로 -2, 3, 0, 2, -5일 때, 첫 번째, 세 번째, 네 번째 학생의 정수 번호를 더하면 0이므로 세 학생은 삼총사입니다. 또한, 두 번째, 네 번째, 다섯 번째 학생의 정수 번호를 더해도 0이므로 세 학생도 삼총사입니다. 따라서 이 경우 한국중학교에서는 두 가지 방법으로 삼총사를 만들 수 있습니다. 한국중학교 학생들의 번호를 나타내는 정수 배열 number가 매개변수로 주어질 때, 학생들 중 삼총사를 만들 수 있는 방법의 수를 return 하도록 solution 함수를..
🔴 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/12930 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다. 입출력 예 🔵 풀이 우선 String을 " " 기준으로 split 하여 배열에 넣은 뒤, 그 배열들에 for...in 반복문으로 접근해서 짝수번째 알파벳..
🔴 문제 링크: https://school.programmers.co.kr/learn/courses/30/lessons/68935 문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 n은 1 이상 100,000,000 이하인 자연수입니다. 입출력 예 🔵 풀이 1 import Foundation func solution(_ n:Int) -> Int { // reversed 3진수 구하기 var reversedArr: [Int] = [] var temp = n while true { if temp == 0 { break } reversedArr.append(temp % 3)..
🔴 문제 문제 설명 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 제한 사항 두 수는 1이상 1000000이하의 자연수입니다. 입출력 예 🔵 풀이 최소공배수는 두 값의 곱을 최대공약수로 나눈 값이라는 건 알고 있다. 그런데 최대공약수는 어떻게 구하지?!! 1부터 일일이 나눠봐야하나...!!!! 결국 구글의 도움을 빌려, 유클리드 호제법으로 최대공약수를 구할 수 있음을 알게 되었다. 유클리드 호제법 : 2개의 자연수 또는 정수의 최대공약수를 구하는..
🔴 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12969 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 예시 입력 5 3 출력 ***** ***** ***** 🔵 풀이 🖌️ 풀이 1 ("*" n개 -> \n ) * m개를 출력하면 될 것 같다. 그런데 주어진 코드를 보니, readLine(), components, map을 쓰라고 되어 있어서 다음과 같이 코드를 짰다. import Foundation let n = readLine()!.componen..
🔴 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12950 문제 설명 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬 arr1과 arr2를 입력받아, 행렬 덧셈의 결과를 반환하는 함수, solution을 완성해주세요. 제한 조건 행렬 arr1, arr2의 행과 열의 길이는 500을 넘지 않습니다. 입출력 예 🟠 시행착오 🙅🏻♀️ 배열끼리의 연산 불가능 (arr1 + arr2 ❌) arr1 + arr2 는 안 된다. [1,2,3] + [4,5,6] => [1,2,3,4,5,6]이 되듯, 그냥 리스트를 이어 붙이는 꼴이 되기 때문이다. var arr1 = [[1,2],..