적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

분류 전체보기 568

[Swift 알고리즘] 다트 게임

Level 1 2018 KAKAO BLIND RECRUITMENT 다트 게임 문제 설명 카카오톡 게임별의 하반기 신규 서비스로 다트 게임을 출시하기로 했다. 다트 게임은 다트판에 다트를 세 차례 던져 그 점수의 합계로 실력을 겨루는 게임으로, 모두가 간단히 즐길 수 있다. 다트 게임의 점수 계산 로직은 아래와 같다. 1. 다트 게임은 총 3번의 기회로 구성된다. 2. 각 기회마다 얻을 수 있는 점수는 0점에서 10점까지이다. 3. 점수와 함께 Single(S), Double(D), Triple(T) 영역이 존재하고 각 영역 당첨 시 점수에서 1제곱, 2제곱, 3제곱 (점수1 , 점수2 , 점수3 )으로 계산된다. 4. 옵션으로 스타상(*) , 아차상(#)이 존재하며 스타상(*) 당첨 시 해당 점수와 바로..

카테고리 없음 2022.03.02

[Swift 알고리즘] 소수 판별

코딩 테스트 연습문제로 종종 나오는 소수 찾기에 대해 제대로 알아보자 소수 Prime Number : 1 보다 큰 자연수 중 1과 자기 자신만을 약수로 가지는 자연수 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31,… 등은 모두 소수 소수가 아닌 자연수는 합성수 1은 소수도 합성수도 아니다. 소수 판별법 1 자연수 n이 소수인지 아닌지를 판정하려면, 인 범위에 있는 모든 소수 p로 n을 나누어 보아, 나누어 떨어지지 않으면 소수이고, 나누어 떨어지면 합성수이다. 즉, 소수는 양의 약수로 1과 자신만을 가진 자연수이며 합성수는 양의 약수가 1과 자기자신을 포함하여 3개 이상인 자연수이다. 참고 : 네이버 지식백과 어떤 자연수가 소수임을 판정하기 위해서는 √n 까지의 수 중 1을 제외하..

Algorithm/참고 2022.02.28

[Swift 알고리즘] Programmers 소수 만들기

Level 1 Summer/Winter Coding(~2018) 소수 만들기 문제 설명 주어진 숫자 중 3개의 수를 더했을 때 소수가 되는 경우의 개수를 구하려고 합니다. 숫자들이 들어있는 배열 nums가 매개변수로 주어질 때, nums에 있는 숫자들 중 서로 다른 3개를 골라 더했을 때 소수가 되는 경우의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 nums에 들어있는 숫자의 개수는 3개 이상 50개 이하입니다. nums의 각 원소는 1 이상 1,000 이하의 자연수이며, 중복된 숫자가 들어있지 않습니다. 입출력 예시 print(solution([1,2,3,4])) //1 print(solution([1,2,7,6,4])) //4 import Foundation func s..

[Swift 알고리즘] Programmers 크레인 인형뽑기 게임

Level 1 크레인 인형뽑기 게임 문제 설명 게임 화면의 격자의 상태가 담긴 2차원 배열 board와 인형을 집기 위해 크레인을 작동시킨 위치가 담긴 배열 moves가 매개변수로 주어질 때, 크레인을 모두 작동시킨 후 터트려져 사라진 인형의 개수를 return 하도록 solution 함수를 완성해주세요. 제한사항 - board 배열은 2차원 배열로 크기는 "5 x 5" 이상 "30 x 30" 이하입니다. - board의 각 칸에는 0 이상 100 이하인 정수가 담겨있습니다. (0은 빈 칸, 1 ~ 100의 각 숫자는 각기 다른 인형의 모양을 의미) - moves 배열의 크기는 1 이상 1,000 이하입니다. - moves 배열 각 원소들의 값은 1 이상이며 board 배열의 가로 크기 이하인 자연수입니..

[Swift 알고리즘] Programmers 비밀지도

Level 1 2018 KAKAO BLIND RECRUITMENT 비밀지도 문제 설명 지도는 한 변의 길이가 n인 정사각형 배열 형태로, 각 칸은 "공백"(" ") 또는 "벽"("#") 두 종류로 이루어져 있다.전체 지도는 두 장의 지도를 겹쳐서 얻을 수 있다. 각각 "지도 1"과 "지도 2"라고 하자. 지도 1 또는 지도 2 중 어느 하나라도 벽인 부분은 전체 지도에서도 벽이다. 지도 1과 지도 2에서 모두 공백인 부분은 전체 지도에서도 공백이다."지도 1"과 "지도 2"는 각각 정수 배열로 암호화되어 있다.암호화된 배열은 지도의 각 가로줄에서 벽 부분을 1, 공백 부분을 0으로 부호화했을 때 얻어지는 이진수에 해당하는 값의 배열이다. 비밀지도의 암호를 해독하는 작업을 도와줄 프로그램을 작성하라. 입력..

[Swift 알고리즘] Programmers 키패드 누르기

Level 1 2020 카카오 인턴십 키패드 누르기 문제 설명 전화 키패드에서 왼손과 오른손의 엄지손가락만을 이용해서 숫자만을 입력하려고 합니다. 맨 처음 왼손 엄지손가락은 * 키패드에 오른손 엄지손가락은 # 키패드 위치에서 시작하며, 엄지손가락을 사용하는 규칙은 다음과 같습니다. 1. 엄지손가락은 상하좌우 4가지 방향으로만 이동할 수 있으며 키패드 이동 한 칸은 거리로 1에 해당합니다. 2. 왼쪽 열의 3개의 숫자 1, 4, 7을 입력할 때는 왼손 엄지손가락을 사용합니다. 3. 오른쪽 열의 3개의 숫자 3, 6, 9를 입력할 때는 오른손 엄지손가락을 사용합니다. 4. 가운데 열의 4개의 숫자 2, 5, 8, 0을 입력할 때는 두 엄지손가락의 현재 키패드의 위치에서 더 가까운 엄지손가락을 사용. 4-1...

[Swift] 나누기

분수 값을 비교해야 하는데 문제가 생겼다. print(1/2) 하면 0.5 가 아니라 결과물로 0 이 출력된다. 나누기 해서 소숫점까지 받아와야 할 때는, 나누기 하려는 인자들 또한 소숫점 형태로 넣어줘야 한다눙.. 1/2의 /는 public func /(lhs: Int, rhs: Int) -> Int Int 형식의 값을 받아와 Int를 반환 1.0/2.0 의 /는 public func /(lhs: Double, rhs: Double) -> Double 소숫점 형식의 Double 값을 받아와 Double을 반환 (Float 도 상관업둠) 참고 : ZeddiOS - 나누기가 안될 때 * Float vs. Double Float와 Double은 부동 소수점을 사용하는 실수이며, 부동소수 타입이라고 한다. 스..

Algorithm/참고 2022.02.11

[Swift 알고리즘] Programmers 실패율

이게 1단계라니.. 쓰다.. ㅠ Level 1 2019 KAKAO BLIND RECRUITMENT 실패율 실패율 = 스테이지에 도달했으나 아직 클리어하지 못한 플레이어의 수 / 스테이지에 도달한 플레이어 수 전체 스테이지의 개수 N, 게임을 이용하는 사용자가 현재 멈춰있는 스테이지의 번호가 담긴 배열 stages가 매개변수로 주어질 때, 실패율이 높은 스테이지부터 내림차순으로 스테이지의 번호가 담겨있는 배열을 return 하도록 solution 함수를 완성하라. 스테이지의 개수 N은 1 이상 500 이하의 자연수 stages의 길이는 1 이상 200,000 이하 stages에는 1 이상 N + 1 이하의 자연수가 담겨있다. 입출력 예시 print(solution(5, [2, 1, 2, 6, 2, 4, 3..

728x90
반응형