오늘은 카카오 기출 알고리즘 문제 중, 재귀알고리즘 문제인 괄호변환문제를 풀어보도록 하겠습니다. 해당 문제에 대한 설명은 아래 링크를 참고하시면 되겠습니다. ▼ 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 해당 문제는 문제에서 설명한 대로 재귀코드를 구현하여 올바른괄호 형태를 만들어주고 반환해주면 되는 문제로, 문제설명만 제대로 읽어서 그래도 구현해준다면 풀 수 있는 문제였습니다. 그럼 곧바로 swift언어를 사용해서 해당문제를 풀어보겠습니다. 카카오 재귀알고리즘 문제, 괄호변환 swift 언어 풀이 먼저 ..
Validate Stack Sequences 릿코드 문제설명 이번에 풀어볼 릿코드 문제는 Validate Stack Sequences입니다. 중복되지 않는 숫자가 존재하는 두개의 배열, pushed, popped가 먼저 주어집니다. 빈 스택에 pushed 배열을 하나하나 넣으면서 스택의 값이 popped배열의 0번째 값부터 차례대로 pop을 할 수 있는지를 확인합니다. 만약 popped 배열의 값을 순차적으로 pop 해낼 수 있으면 true를, 반대는 false를 반환합니다. 입출력 예시를 출력해보겠습니다. Validate Stack Sequences 릿코드 입출력 예시 입출력 예시는 위와 같습니다. Stack의 push / pop 연산을 수행하는데 특정 숫자를 순서대로 빼내지 못할 경우, false를 ..
백준 1037번, 약수 문제설명 오늘은 백준의 1037번 문제, 약수를 풀어보겠습니다. 오늘 문제풀이는 문제의 풀이과정이 아닌, reduce를 이런식으로 사용할 수 있다는 것에 초점을 두고 진행하겠습니다. 시간 제한은 2초, 메모리 제한은 512MB입니다. 진짜 약수가 주어졌을때 진짜 약수들을 갖는 수를 구하는 문제입니다. 먼저, 진짜약수의 갯수를 첫줄에 입력받고, 그 갯수만큼 진짜갯수의 약수를 입력받습니다. 위의 경우, 진짜약수 4, 2를 갖는 수를 구하는 문제로 정답은 8입니다. (진짜약수에 1은 포함하지 않습니다.) 결론부터 말슴드리자면, 해당 문제는 주어지는 진짜약수의 최댓값, 최솟값을 활용해서 풀 수 있습니다. - 진짜약수의 갯수가 1개인 경우 : (진짜약수 최댓값) * (진짜약수 최댓값) - ..
백준 1181번, 단어정렬 문제 설명 오늘 풀어볼 문제는 백준의 1181번, 단어정렬 문제입니다. solved.ac 기준 실버5로 코딩테스트로 보면 초반에 나올 수 있는 수준의 문제입니다. 시간제한은 2초, 메모리제한은 256MB입니다. 해당문제의 요지는 매우 간단합니다. 입력받은 단어들을 아래 우선순위로 정렬하면 됩니다. 1) 길이가 짧은 순 2) 길이가 같다면 사전순으로 정렬 위와 같은 2가지 조건을로 정렬한 결과를 개행 단위로 출력하면 되는 문제입니다. 아래는 입출력 예시입니다. 입력받은 단어의 갯수 N을 받고, N개의 단어를 입력받습니다. 그리고 정렬한 결과를 우측 출력예시와 같이 출력하면 됩니다. 바로 swift언어로, dictionary, Array 자료구조와 joined, sorted 고차함..
- Total
- Today
- Yesterday
- Protocol
- publisher
- swift reduce
- uikit
- 스위프트
- CoreML
- 김프매매
- 알고리즘문제
- 알고리즘
- SwiftUI
- 자연어처리
- swift언어
- 프로그래머스
- swift 기초
- swift 문자열
- 프로토콜
- Collection
- swift알고리즘
- 부스트코스
- 개발자문서
- Swift 알고리즘
- 프로그래머스swift
- createML
- swift
- 컬렉션
- swift문제
- 백준알고리즘
- ios
- 백준swift
- swift string
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |