🖥 문제 전체 학생의 수 n, 체육복을 도난당한 학생들의 번호가 담긴 배열 lost, 여벌의 체육복을 가져온 학생들의 번호가 담긴 배열 reserve가 매개변수로 주어질 때, 체육수업을 들을 수 있는 학생의 최댓값을 return 하도록 solution 함수를 작성해주세요. 🤔 풀이 방법 var possible = Array(repeating: 1, count: n) n명의 학생이 모두 체육복을 하나씩 가져왔다고 가정하고 배열을 1로 초기화한다. 도난당한 학생의 체육복을 -1해 주고 여벌 체육복이 있는 학생들의 체육복을 +1 해준다. for i in lost { possible[i - 1] -= 1 } for i in reserve { possible[i - 1] += 1 } if i != 0 && pos..
🖥 문제 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환하는 함수, solution을 완성해 보세요. 배열의 맨 앞에 최대공약수, 그다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 두 수 3, 12의 최대공약수는 3, 최소공배수는 12이므로 solution(3, 12)는 [3, 12]를 반환해야 합니다. 🤔 풀이 방법 유클리드 호제법으로 최대공약수 구하기 유클리드 호제법은 2개의 자연수의 최대공약수를 구하는 알고리즘이다. 2개의 자연수 n, m에 대해서 n를 m로 나눈 나머지를 r이라 하면, n과 m의 최대공약수는 m과 r의 최대공약수와 같다. 이를 이용하여 m을 r로 나눈 나머지 r'를 구하고, 다시 r을 r'로 나눈 나머지를 구하는 과정을 반복하여 나머지가 0이 되었을 때 나누는 수가 n..
🖥 문제 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 🤔 풀이 방법 에라토스테네스의 체 에라토스테네스의 체는 고대 그리스 수학자 에라토스테네스가 발견한 소수를 찾는 방법이다. 1부터 숫자 n 사이에 소수를 구하고자 할 때, 0부터 n까지의 배열을 만들고 이를 모두 1로 초기화한다. 0과 1은 소수가 아니므로 0으로 바꾸어준다. 2는 소수이므로, 2를 제외한 2의 배수를 모두 0으로 바꾸어준다. 3은 소수이므로, 3을 제외한 3의 배수를 모두 0으로 바꾸어준다. 5는 소수이므로, 5를 제외한 5의 배수를 모두 0으로 바꾸어준다. 7은 소수이므로, 7을 제외한 7의 배수를 모두 0으로 바꾸어준다. n의 제곱근까지 위의 과정을 반복하면 모든 소수만 1로..
🖥 문제 게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요. 🤔 풀이 방법 변수 copiedBoard : board의 내용을 복사해온다. basket : 인형을 담을 바구니 doll : 집어 올린 인형 result : 터트려져 사라진 인형의 개수 2중 for문 크레인을 작동시킨 위치를 하나씩 탐색한다. 동시에 화면의 격자 상태가 상태가 담긴 2차원 배열 board를 탐색한다. for move in moves { for i in 0.. Int { var copiedBoard = board var ba..
- Total
- Today
- Yesterday
- mysql
- compactMap
- abs()
- 다리를 지나는 트럭
- 최대공약수
- iTunes Search API
- 별졈
- BOJ
- Kakao
- SWIFT
- 프로그래머스
- TIL
- ternary
- programmers
- Algorithm
- DFS
- 유클리드 호제법
- calendar
- java
- Firebase
- Baekjoon
- UISearchController
- sql
- Git
- 달력
- map
- 최소공배수
- IOS
- 깊이 우선 탐색
- 에로토스테네스의 체
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |