전체 글
-
[프로그래머스] 가장 큰 수 / Swift프로그래밍/코딩테스트 2021. 5. 22. 14:02
[문제 보기] 더보기 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers, return [..
-
[프로그래머스] 프린터 / Swift프로그래밍/코딩테스트 2021. 5. 21. 23:13
https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr [문제 보기] 더보기 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린터를 개발했습니다. 이 새롭게 개발한 프린터는 아래와 같은 방식으로 인쇄 작업을 수행합니다. 1. 인쇄 대기목록의 가장 앞에 있는 문서(J)를 대기목록에서 꺼냅니다..
-
[프로그래머스] 소수 찾기 (순열) / Swift프로그래밍/코딩테스트 2021. 5. 21. 00:07
https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr [문제 보기] 더보기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 ..
-
[프로그래머스] 조이스틱 / Swift프로그래밍/코딩테스트 2021. 5. 19. 23:13
https://programmers.co.kr/learn/courses/30/lessons/42860 코딩테스트 연습 - 조이스틱 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다 programmers.co.kr [문제 보기] 더보기 조이스틱으로 알파벳 이름을 완성하세요. 맨 처음엔 A로만 이루어져 있습니다. ex) 완성해야 하는 이름이 세 글자면 AAA, 네 글자면 AAAA 조이스틱을 각 방향으로 움직이면 아래와 같습니다. ▲ - 다음 알파벳 ▼ - 이전 알파벳 (A에서 아래쪽으로 이동하면 Z로) ◀ - 커서를 왼쪽으로 이동 (첫 번째 위치에서 왼쪽..
-
[프로그래머스] 기능 개발 / Swift프로그래밍/코딩테스트 2021. 5. 17. 16:15
https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr [문제 보기] 더보기 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진..
-
그리디- 큰 수의 법칙 / Swift프로그래밍/코딩테스트 2021. 5. 13. 17:04
이것이 취업을 위한 코딩테스트다 p.92 방법1 : 반복문으로 구하기 import Foundation let nmk = readLine()!.split(separator: " ").map { Int($0)! } var list = readLine()!.split(separator: " ").map { Int($0)! } let n = nmk[0], m = nmk[1], k = nmk[2] var passed = 0 var sum = 0 list.sort(by: >) while passed < m { passed += 1 if passed % k == 0 { sum += list[1] } else { sum += list[0] } } print(sum) 방법2 : 수열의 규칙성을 이용하여 실제 갯수를 구해..
-
[실수 분석] 2021 카카오 인턴 3번, 문자열프로그래밍/코딩테스트 2021. 5. 10. 19:45
제목: [실수 분석] 2021 카카오 인턴 3번, 문자열 단순 구현 문제였다. 정확도는 통과가 되었지만, 효율성에서 반타작이 나왔다. 다른 사람 후기를 보아도 비슷하게 푼 것 같아 계속 원인을 찾아보다가 실수한 부분을 찾았다. (2021. 5. 15 수정) 처음에는 split, component 메서드부분이 원인이라고 생각했지만, 다른 분과 이야기를 하면서 이 부분은 메서드 변경할때마다 성능차이가 나는정도의 성능향상이라면 큰 의미가 없는것 같다고 판단되었다. 커서가 100만개의 첫부분과 맨끝부분을 계속 이동하게 될 때 문제를 해결하는 방향으로 해결해야 했던 것 같다.. 즉 세그먼트 트리, 펜윅 트리 + 이진탐색 등으로 커서 위치를 이동하는 부분을 해결해야 했던 것 같다. (2021. 12. 22 수정) ..
-
[RxSwift] Operators (scan, window)프로그래밍/Swift 2021. 4. 16. 23:52
1. scan 직전에 내려보낸 데이터와 현재 stream(위)에 있는 데이터 이렇게 2개 데이터를 특정한 연산을 하고 내려보냄. 예를들면 위의 stream에서 1은 내려보낸 것이 없어 그대로 내려가서 1이되고, 1 다음에 있는 2는 직전에 내려보낸 1과 연산(1+2)하여 3이 되고, 이것을 내려보낸다. reduce와 비슷한 것 같지만 reduce는 한개의 원소만 최종적으로 내려보내는 것이고(다르기도하고 operator reduce가 따로 존재하기도 함) scan은 한개씩 내려보내면서 직전에 내려보낸 것과 상호작용을 함. 사용예시 class MenuListViewModel { // var totalPrice: Observable = Observable.just(10_000) var totalPrice: P..
-
[RxSwift] subscribe, next, error, completed프로그래밍/Swift 2021. 4. 15. 19:06
1. subscribe 여러가지 처리하고 만들어진 Observable 데이터를 받아서 사용할 때 쓰는 키워드. Observable = 나중에 생기는 데이터, subscribe = 나중에 생기는 데이터를 꺼내 쓰는것. subscribe의 return타입은 disposable임. 다른 operator들은 return타입이 전부 stream임(Observable) DisposeBag에 여러 dispose한 것들을 담을 수 있지만 disposeBag.disposed()라는 메서드를 호출 할 수는 없음. 그래서 disposeBag 변수에 새로운 disposBag를 생성하는 것으로 disposed() 를 하게함. subscribe의 반환타입이 disposable이기 때문에, 보통사용할 때 외부의 변수로 생성한 di..
-
[RxSwift] Operators (just, from, map, filter)프로그래밍/Swift 2021. 4. 15. 17:07
1. just : 넣어주면 그대로 한번에 다음번으로 전달 생성 연산자. 빨간색 구슬은 데이터. 아래 화살표는 스트림. 스트림에 세로로 막대기가 있는것은 데이터가 끝남을 의미 (complete) --> disposableBag에서 사라짐. func just1() { Observable.just("Hello") .subscribe(onNext: { s in print(s) // Hello }) .disposed(by: disposeBag) } func just2() { Observable.just([1,2,3]) .subscribe(onNext: { arr in print(arr) // [1,2,3] }) .disposed(by: disposeBag) } func downloadJson1(_ url: Str..
-
개인정보 처리 방침 - iOSApps/UpcomingTodo 2021. 3. 26. 05:08
('https://turume.tistory.com/entry/iOS-%EA%B0%9C%EC%'이하 'turu')은(는) 「개인정보 보호법」 제30조에 따라 정부주체의 개인정보를 보호하고 이와 관련한 고충을 신속하고 원활하게 처리할 수 있도록 하기 위하여 다음과 같이 개인정보 처리방침을 수립·공개합니다. ○ 이 개인정보처리방침은 2021년 3월 26부터 적용됩니다. 제1조(개인정보의 처리 목적) ('https://turume.tistory.com/entry/iOS-%EA%B0%9C%EC%'이하 'turu')은(는) 다음의 목적을 위하여 개인정보를 처리합니다. 처리하고 있는 개인정보는 다음의 목적 이외의 용도로는 이용되지 않으며 이용 목적이 변경되는 겨우에는 「개인정보 보호법」 제18조에 따라 별도의 동의..
-
-
[iOS] scrollViewDidEndScrollingAnimation이 시뮬레이터에서는 호출되지만 디바이스에서 호출되지 않을 때프로그래밍/iOS 2021. 3. 24. 23:23
문제 상황 테이블뷰에서 마지막 셀로 스크롤시켰을때, 스크롤 애니메이션이 끝날때 호출되는 메서드인 scrollViewDidEndScrollingAnimation에 마지막 셀에 접근하고 키보드 팝업을 올리려고 했다. tableView.scrollToRow를 사용했을 때 시뮬레이터에서는 scrollViewDidEndScrollingAnimation가 호출이 되었지만, 디바이스에서는 호출이 안되었다. 원인 scrollViewDidEndScrollingAnimation은 setContentOffset:animated:또는 scrollRectToVisible:animated:을 사용할 때만 호출된다고 한다. scrollToRow를 사용했을 때 시뮬레이터에서는 호출되었던건 왜 그런지 모르겠음. 해결방법 tableVi..
-
[iOS] hidesSearchBarWhenScrolling가 작동하지 않을 때프로그래밍/iOS 2021. 3. 13. 23:17
문제 상황: navigationItem.hidesSearchBarWhenScrolling = true 위 코드를 사용해서 UISearchBar가 스크롤 할 때 사라지는 것을 기대했지만 사라지지 않음 해결 방법: 빨간색 박스가 그려져 있는 왼쪽사진이 처음 문제가 발생했을 때 구조고, 오른쪽은 해결했을 때의 구조임. 문제가 발생했을 때 content view아래에 toolbar와 scroll view가 같이 있는데, toolbar가 scroll view 순서가 뒤에 와 있음. 오른쪽 사진처럼 드래그 이벤트가 발생하는 scroll view를 순서를 맨 뒤로 보내면 해결됨.