본문 바로가기

분류 전체보기141

[프로그래머스] Swift - 소수찾기(Lv.1) 문제 설명 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 1,000,000이하의 자연수입니다. 입출력 예 n result 10 4 5 3 입출력 예 #1 1부터 10 사이의 소수는 [2,3,5,7] 4개가 존재하므로 4를 반환 입출력 예 #2 1부터 5 사이의 소수는 [2,3,5] 3개가 존재하므로 3를 반환 풀이 [ 메모리: 16,793kb, 최대 시간: 1066.65.ms ] import Foundation func solution(_ n:Int) -> Int { var result = 0 for i in 2...n { if isPrimeN.. 2023. 5. 26.
[Swift] 프로토콜(Protocol) 개념 정리 프로토콜(Protocol)이란? Swift Language Guide를 보면, 프로토콜에 대한 정의가 아래와 같이 적혀있다. A protocol defines a blueprint of methods, properties, and other requirements that suit a particular task or piece of functionality. 프로토콜은 특정 작업이나 기능에 적합한 메서드, 속성, 그 외 필수요소의 청사진을 정의한다. 그리고 프로토콜은 일급 객체이며, 기본적으로 규약, 협약이라는 의미를 가진다. 일급객체란? (쉽게 말해 변수나 상수처럼 사용 가능하다는 의미) - 변수에 할당 가능 - 함수의 파라미터로 전달 가능 - 반환값으로 사용 가능 규약과 협약은 '~을 해야한다' 또.. 2023. 5. 26.
[프로그래머스] Swift - 소수찾기(Lv.2) 문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. "013"은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return "17" 3 "011" 2 풀이 (오답) func solution1(_ numbers:String) -> Int { let cNumbers = numbers.sorted.. 2023. 5. 25.
[프로그래머스] Swift - 프로세스(Lv.2) 문제 설명 운영체제의 역할 중 하나는 컴퓨터 시스템의 자원을 효율적으로 관리하는 것입니다. 이 문제에서는 운영체제가 다음 규칙에 따라 프로세스를 관리할 경우 특정 프로세스가 몇 번째로 실행되는지 알아내면 됩니다. 1. 실행 대기 큐(Queue)에서 대기중인 프로세스 하나를 꺼냅니다. 2. 큐에 대기중인 프로세스 중 우선순위가 더 높은 프로세스가 있다면 방금 꺼낸 프로세스를 다시 큐에 넣습니다. 3. 만약 그런 프로세스가 없다면 방금 꺼낸 프로세스를 실행합니다. 3.1 한 번 실행한 프로세스는 다시 큐에 넣지 않고 그대로 종료됩니다. 예를 들어 프로세스 4개 [A, B, C, D]가 순서대로 실행 대기 큐에 들어있고, 우선순위가 [2, 1, 3, 2]라면 [C, D, A, B] 순으로 실행하게 됩니다. 현.. 2023. 5. 24.