적당한 고통은 희열이다

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

반응형

분류 전체보기 568

[Swift 알고리즘] Programmers n^2 배열 자르기

○ Level 2 월간 코드 챌린지 시즌3 (1시간) n^2 배열 자르기 이것도 약간 규칙찾기 문제 문제 설명 정수 n, left, right가 주어집니다. 다음 과정을 거쳐서 1차원 배열을 만들고자 합니다. 1. n행 n열 크기의 비어있는 2차원 배열을 만듭니다. 2. i = 1, 2, 3, ..., n에 대해서, 1행 1열부터 i행 i열까지의 영역 내의 모든 빈 칸을 숫자 i로 채웁니다. 3. 1행, 2행, ..., n행을 잘라내어 모두 이어붙인 새로운 1차원 배열을 만듭니다. 4. 새로운 1차원 배열을 arr이라 할 때, arr[left], arr[left+1], ..., arr[right]만 남기고 나머지는 지웁니다. 정수 n, left, right가 매개변수로 주어집니다. 주어진 과정대로 만들어..

[Swift 알고리즘] Programmers 이중우선순위큐

○ Level 3 힙(Heap) (20분) 이중우선순위큐 왜 3단계지..? 시간초과도 안뜨고.. min max 안쓰고 직접 구현해봤어야 하는건가..? 문제 설명 이중 우선순위 큐는 다음 연산을 할 수 있는 자료구조를 말합니다. - I 숫자 : 큐에 주어진 숫자를 삽입합니다. - D 1 : 큐에서 최댓값을 삭제합니다. (둘 이상인 경우 하나만 삭제) - D -1 : 큐에서 최솟값을 삭제합니다. 이중 우선순위 큐가 할 연산 operations가 매개변수로 주어질 때, 모든 연산을 처리한 후 큐가 비어있으면 [0,0] 비어있지 않으면 [최댓값, 최솟값]을 return 하도록 solution 함수를 구현해주세요. 제한사항 - operations는 길이가 1 이상 1,000,000 이하인 문자열 배열입니다. - ..

[Swift 알고리즘] Programmers 위장

× Level 2 해시 위장 딕셔너리로 해시맵 만드는건 쉽게 했는데, 가능한 조합 수 구하는걸 못해서 힌트 참고.. 알고보니 수학문제에 가까웠다.. 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 - clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. - 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. - 같은 이름을 가진 의상은 존재하지 않습니다. - 모든 문자열의 길이는 1 이상 20 이하인 자연수이고 알파벳 소문자 또는 '_' 로만 이루어져 있습니다. - 스파이는 하루에 최소 한 개..

[Swift 알고리즘] Programmers Lv.2 기초 문제들

드디어 레벨 2 문제로 넘어왔다! 근데 레벨 2 라고 다 어려운게 아니네.. 1보다 쉬운 문제들이 많구만 한 번만에 통과한 기초문제들을 모아보겠다. 완전탐색 (35분) 카펫 문제 설명 Leo가 본 카펫에서 갈색 격자의 수 brown, 노란색 격자의 수 yellow가 매개변수로 주어질 때 카펫의 가로, 세로 크기를 순서대로 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 - 갈색 격자의 수 brown은 8 이상 5,000 이하인 자연수입니다. - 노란색 격자의 수 yellow는 1 이상 2,000,000 이하인 자연수입니다. - 카펫의 가로 길이는 세로 길이와 같거나, 세로 길이보다 깁니다. 입출력 예시 print(solution(10, 2)) //[4, 3] print(so..

[Swift 알고리즘] Programmers 햄버거 만들기

× Level 1 연습문제 햄버거 만들기 문제 설명 함께 일을 하는 다른 직원들이 햄버거에 들어갈 재료를 조리해 주면 조리된 순서대로 상수의 앞에 아래서부터 위로 쌓이게 되고, 상수는 정해진 순서(아래서부터, 빵 – 야채 – 고기 - 빵)로 쌓인 햄버거만 포장을 합니다. 상수에게 전해지는 재료의 정보를 나타내는 정수 배열 ingredient가 주어졌을 때, 상수가 포장하는 햄버거의 개수를 return 하도록 solution 함수를 완성하시오. 제한사항 - 1 ≤ ingredient의 길이 ≤ 1,000,000 - ingredient의 원소는 1, 2, 3 중 하나의 값이며, 순서대로 빵, 야채, 고기를 의미합니다. 입출력 예시 print(solution([2, 1, 1, 2, 3, 1, 2, 3, 1])..

[Swift 알고리즘] Programmers 신고 결과 받기

× △ Level 1 2022 KAKAO BLIND RECRUITMENT 신고 결과 받기 문제 설명 이용자의 ID가 담긴 문자열 배열 id_list, 각 이용자가 신고한 이용자의 ID 정보가 담긴 문자열 배열 report, 정지 기준이 되는 신고 횟수 k가 매개변수로 주어질 때, 각 유저별로 처리 결과 메일을 받은 횟수를 배열에 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 - 2 ≤ id_list 의 길이 ≤ 1,000 - 1 ≤ report 의 길이 ≤ 200,000 - 1 ≤ k ≤ 200, k는 자연수입니다. - return 하는 배열은 id_list에 담긴 id 순서대로 각 유저가 받은 결과 메일 수를 담으면 됩니다. 크.. 역시 카카오인가.. 레벨 1인데도 쉽지 않다...

Swift 반복문

stride x부터 y까지 z만큼의 간격으로 반복문을 돌리는 것. for i in stride(from: x, to: y, by: z) : x ~ y 까지 반복문을 돌리는데, y는 포함시키지 않음. x ≤ range < y for i in stride(from: x, through: y, by: z) : y 까지 포함하여 x ~ y 까지 반복문 돌리기. x ≤ range ≤ y for i in stride(from: 5, to: 1, by: -1) { print(i) //5 4 3 2 } for i in stride(from: 5, through: 1, by: -1) { print(i) //5 4 3 2 1 } 단순히 하나씩이 아니라 n 씩 건너 뛰면서 반복문을 돌리거나, 주어진 순서와 반대로 반복문을 ..

Algorithm/참고 2022.10.29

[Swift 알고리즘] Programmers 성격 유형 검사하기

○ LEVEL 1 2022 KAKAO TECH INTERNSHIP 성격 유형 검사하기 문제 설명 질문마다 판단하는 지표를 담은 1차원 문자열 배열 survey와 검사자가 각 질문마다 선택한 선택지를 담은 1차원 정수 배열 choices가 매개변수로 주어집니다. 이때, 검사자의 성격 유형 검사 결과를 지표 번호 순서대로 return 하도록 solution 함수를 완성해주세요. 제한사항 - 1 ≤ survey의 길이 ( = n) ≤ 1,000 survey의 원소는 "RT", "TR", "FC", "CF", "MJ", "JM", "AN", "NA" 중 하나 - choices의 길이 = survey의 길이 1 ≤ choices의 원소 ≤ 7 입출력 예시 print(solution(["AN", "CF", "MJ"..

[Swift 알고리즘] Programmers 옹알이

△ Level 1 연습문제 옹알이 문제 설명 머쓱이는 태어난 지 11개월 된 조카를 돌보고 있습니다. 조카는 아직 "aya", "ye", "woo", "ma" 네 가지 발음과 네 가지 발음을 조합해서 만들 수 있는 발음밖에 하지 못하고 연속해서 같은 발음을 하는 것을 어려워합니다. 문자열 배열 babbling이 매개변수로 주어질 때, 머쓱이의 조카가 발음할 수 있는 단어의 개수를 return하도록 solution 함수를 완성해주세요. 제한사항 - 1 ≤ babbling의 길이 ≤ 100 - 1 ≤ babbling[i]의 길이 ≤ 30 - 문자열은 알파벳 소문자로만 이루어져 있습니다. 입출력 예시 print(solution(["aya", "yee", "u", "maa"])) //1 print(solutio..

728x90
반응형