본문 바로가기

전체 글188

[Swift 알고리즘]백준 10819(차이를 최대로), 백준 16193(차이를 최대로 2) (그림있음) https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 256 MB 25323 16413 12669 65.395% 문제 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진.. 2023. 4. 6.
[Swift 알고리즘]백준 10819(차이를 최대로) 브루스트포스 문제 N개의 정수로 이루어진 배열 A가 주어진다. 이때, 배열에 들어있는 정수의 순서를 적절히 바꿔서 다음 식의 최댓값을 구하는 프로그램을 작성하시오. |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 입력 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. 출력 첫째 줄에 배열에 들어있는 수의 순서를 적절히 바꿔서 얻을 수 있는 식의 최댓값을 출력한다. 해결 방법 그냥 순열 만들어서(브루스트포스) 최댓값 비교하는 코드 별로 어렵지 않을 듯? func solaCee2() { let inputN = Int(readLine()!)! let.. 2023. 4. 5.
[Swift 알고리즘] 백준 10972(다음순열) 3. y에 해당하는 인덱스부터 sort(오름차순정렬)를 한 뒤에 이어 붙인다. https://www.acmicpc.net/problem/10972 10972번: 다음 순열 첫째 줄에 입력으로 주어진 순열의 다음에 오는 순열을 출력한다. 만약, 사전순으로 마지막에 오는 순열인 경우에는 -1을 출력한다. www.acmicpc.net 풀이 과정 https://ji-gwang.tistory.com/262 백준 10972번 파이썬 문제풀이(브루트 포스 - 다음 순열) 코드 N = int(input()) input_array = list(map(int, input().split())) for i in range(N - 1, 0, -1): # 마지막 항부터 돈다 if input_array[i - 1] < input_.. 2023. 4. 4.
[Swift 알고리즘] 백준 6603_로또 https://www.acmicpc.net/problem/6603 6603번: 로또 입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있다. 첫 번째 수는 k (6 < k < 13)이고, 다음 k개 수는 집합 S에 포함되는 수이다. S의 원소는 오름차순으로 www.acmicpc.net 해결 방법 DFS 재귀 형식으로 Visited노드를 통헤서 접근. recur이란 함수를 돌 때 Visited 노드의 개수가 6일때 print함수를 통해서 출력. func sol3() { var visitedArr:[Int] = [] func recurc(_ funcArr:[Int]) { if visitedArr.count == 6 { print(visitedArr.map{String($.. 2023. 4. 3.
[Swift 알고리즘] 백준 2156_ 포도주 시식 https://www.acmicpc.net/problem/2156 2156번: 포도주 시식효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규www.acmicpc.net  문제효주는 포도주 시식회에 갔다. 그 곳에 갔더니, 테이블 위에 다양한 포도주가 들어있는 포도주 잔이 일렬로 놓여 있었다. 효주는 포도주 시식을 하려고 하는데, 여기에는 다음과 같은 두 가지 규칙이 있다.포도주 잔을 선택하면 그 잔에 들어있는 포도주는 모두 마셔야 하고, 마신 후에는 원래 위치에 다시 놓아야 한다.연속으로 놓여 있는 3잔을 모두 마실 수는 없다.효.. 2023. 4. 2.
[애플 아카데미] 3월 30일 애플 아카데미의 모든 것...! https://developeracademy.postech.ac.kr/ Apple 디벨로퍼 아카데미 iOS 앱개발・디자인・비즈니스 developeracademy.postech.ac.kr 3월 30일 19시 애플 디벨로퍼 아카데미에서 "아카데미의 모든 것" 이라는 주제로 줌을 시작했다. 평소 관심있어 했어서 무엇을 하는지 너무 궁금해서, 한번 들어보았다. 그런데 역시 애플? 답게 오늘 들었던 내용에 대해서 일체 언급하지 마라달라는 부탁이었다... 🥹🥹🥹 그러면 전체적인 느낌만 말하자면, 애플 디벨로퍼 아카데미의 뽕(?) 주입 할 수 있는 시간이었던 것 같았다. 전체적인 소개와 어떻게 진행되는지 그리고 애플디벨로퍼 멘토러너들의 분위기를 알 수 있었던 것 같다. 코드네임 Gwen과 SungP 두분이서 진행했는.. 2023. 3. 31.
[Swift_알고리즘] 백준 14002_가장 긴 증가하는 부분 수열4 https://www.acmicpc.net/problem/14002 14002번: 가장 긴 증가하는 부분 수열 4수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이www.acmicpc.net문제수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다.입력첫째.. 2023. 3. 30.
[Swift_알고리즘] 백준 11053_가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 문제 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이고, 길이는 4이다. 입력 첫째 줄에 수열 A의 크기 N (1 ≤.. 2023. 3. 29.
[Swift_알고리즘] 백준 15990_(1, 2, 3 더하기 5) https://www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 3가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 단, 같은 수를 두 번 이상 연속해서 사용하면 안 된다. 1+2+1 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 10.. 2023. 3. 28.
[Swif_알고리즘] 백준 11726 타일링 https://www.acmicpc.net/problem/11726 11726번: 2×n 타일링2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다.www.acmicpc.net    접근 방법 (오답)세로 막대 [] 가로 막대 = 라고 생각길이가 n인 직사각형을 만들기 -> n1 * [] + n2 * 로 만들면 된다고 생각했다. 이렇게 생각하면 '1'의 카드 n1개 와 '2'의 카드 n2개 를 배열하면 된다고 생각 했다.따라서 while문과 factory문을 섞어서 구현하였다. func get14444() { let inputVal = Int(readLin.. 2023. 3. 27.
[Swift_알고리즘] 퇴사 https://www.acmicpc.net/problem/14501 14501번: 퇴사 첫째 줄에 백준이가 얻을 수 있는 최대 이익을 출력한다. www.acmicpc.net  문제 상담원으로 일하고 있는 백준이는 퇴사를 하려고 한다. 오늘부터 N+1일째 되는 날 퇴사를 하기 위해서, 남은 N일 동안 최대한 많은 상담을 하려고 한다. 백준이는 비서에게 최대한 많은 상담을 잡으라고 부탁을 했고, 비서는 하루에 하나씩 서로 다른 사람의 상담을 잡아놓았다. 각각의 상담은 상담을 완료하는데 걸리는 기간 Ti와 상담을 했을 때 받을 수 있는 금액 Pi로 이루어져 있다. N = 7인 경우에 다음과 같은 상담 일정표를 보자. 1일에 잡혀있는 상담은 총 3일이 걸리며, 상담했을 때 받을 수 있는 금액은 10이다. 5일.. 2023. 3. 26.
[RxSwift]왜 비동기 처리가 안되는거지? viewDidLoad에서 onNext가 실행이 안될때... (부제: viewdidload에 disposableBag을 선언하면 생기는 일) 맨 밑에 3줄 요약 있습니둥 개요 : Alamofire로 데이터를 불러오고싶은데 onNext가 실행되지 않는다. 뭐가 잘못되었는지 하루종일 고쳐봤다... override func viewDidLoad() { super.viewDidLoad() view.backgroundColor = .red makeConstraints() let disposeBag = DisposeBag() //디스포스백 생성 let temptemp = getData() temptemp.subscribe { data in print("실행 돼?") }.disposed(by: disposeBag) } func getData() -> Observable { return Observable.create { emitter in let url .. 2023. 3. 23.