[Swift]BOJ-17298
Algorithm.zip 2022. 2. 5. 22:58

BOJ-17298, 오큰수 문제 📑 https://www.acmicpc.net/problem/17298 17298번: 오큰수 첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에 수열 A의 원소 A1, A2, ..., AN (1 ≤ Ai ≤ 1,000,000)이 주어진다. www.acmicpc.net 문제 정리 ▾ 수열의 개수를 입력받는다. 수열은 현재 인덱스 값보다 오른쪽 인덱스 값이 크면 현재 인덱스 값은 오른쪽 인덱스 값으로 변경시킨다. 오른쪽에 더 큰 수가 없을 경우 -1을 현재 인덱스 값으로 변경시켜준다. 접근 🚶🏻 나의 생각 ▾ 문제를 보자마자 이중 for문으로 현재 값보다 다음 인덱스 값이 크면 변경을 해주려고 했다. 문제는!! 더 큰 수가 없을 경우, -..

[Swift]BOJ-10799
Algorithm.zip 2022. 2. 4. 21:18

BOJ-10799, 쇠막대기 문제 📑 https://www.acmicpc.net/problem/10799 10799번: 쇠막대기 여러 개의 쇠막대기를 레이저로 절단하려고 한다. 효율적인 작업을 위해서 쇠막대기를 아래에서 위로 겹쳐 놓고, 레이저를 위에서 수직으로 발사하여 쇠막대기들을 자른다. 쇠막대기와 레이저 www.acmicpc.net 문제 정리 ▾ 괄호로 된 문자열을 입력받는다. 연이어 나오는 괄호 한 쌍은"()" 레이저를 의미한다. 괄호가 연이어 나오지 않는 경우 쇠막대기로 간주하고, 쇠막대기 사이에 있는 레이저로 쇠막대기를 절단할 때, 절단된 쇠막대기의 총개수를 출력하면 된다. 접근 🚶🏻 나의 생각 ▾ 문제를 바로 이해했지만 도저히 어떻게 풀어야 할지 감이 안 잡혔다. "("가 나올 때 그다음에도..

[Swift]BOJ-17413
Algorithm.zip 2022. 2. 3. 13:54

BOJ-17413, 단어 뒤집기 2 문제 📑 https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 문제 정리 ▾ 문자열을 입력받는다. 저번 단어 뒤집기 문제와 유사하지만 "" 특수 문자 안에는 문자열이 그대로 존재(역순 x)해야 한다. 특수 문자로 둘러싸지 않은 문자열은 뒤집어 출력이 되어야 한다. 접근 🚶🏻 나의 생각 ▾ 저번 단어 뒤집기 문제와 유사하기 때문에 특수문자 처리만 잘해주면 된다고 생각했다. 가장 중요했..

[Swift]BOJ-10845
Algorithm.zip 2022. 2. 2. 11:17

BOJ-10845, 큐 문제 📑 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 정리 ▾ 저번 스택(10828) 문제와 정말 비슷한 유형이었다. 명령어의 개수를 입력받고, 각각의 명령어에 맞는 기능을 구현해주면 된다. push: 정수 x를 큐에 넣는 연산 pop: 큐에 가장 앞에 있는 정수를 빼고, 그 수를 출력 but! 큐가 비어있으면 "-1" 출력 size: 큐에 사이즈 출력 empty: 큐가 비어있으면 "1", 아니면..

[Swift]BOJ-1406
Algorithm.zip 2022. 2. 1. 13:41

BOJ-1406, 에디터 문제 📑 https://www.acmicpc.net/problem/1406 1406번: 에디터 첫째 줄에는 초기에 편집기에 입력되어 있는 문자열이 주어진다. 이 문자열은 길이가 N이고, 영어 소문자로만 이루어져 있으며, 길이는 100,000을 넘지 않는다. 둘째 줄에는 입력할 명령어의 개수 www.acmicpc.net 문제 정리 ▾ 문장을 입력 받고, 명령어의 개수도 개행으로 입력받는다. 각각의 명령어들이 입력이 되고, 그 명령어의 맞게 출력을 해주면 된다. 접근 🚶🏻 나의 생각 ▾ 처음 문제를 봤을 때 커서를 인덱스로 다루고, 인덱스를 이용해 명령어들을 실행시키려고 했다. 예상외로 인덱스를 이용하는데 여러 문제들이 있어서 다른 String객체(Rstr)를 만들어 왼쪽으로 이동할..

[Swift]BOJ-9012
Algorithm.zip 2022. 1. 31. 19:09

BOJ-9012, 괄호 문제 📑 https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 문제 정리 ▾ 문장의 개수를 입력받는다. 문장들은 괄호로 구성되어있고, 괄호가 완전한 한쌍이 되는지 체크하여 한쌍으로 잘 닫힌다면 "YES", 제대로 닫히지 않으면 "NO"를출력한다. 접근 🚶🏻 나의 생각 ▾ 괄호 "("와 ")"를 각각 카운트하는데 "("일 경우 더해주고, ")"일 경우 빼주면 된다고 생각했다. 결과 값이 "0"일 경..

[Swift]BOJ-9093
Algorithm.zip 2022. 1. 31. 17:03

BOJ-9093, 단어 뒤집기 문제 📑 https://www.acmicpc.net/problem/9093 9093번: 단어 뒤집기 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있으며, 문장이 하나 주어진다. 단어의 길이는 최대 20, 문장의 길이는 최대 1000이다. 단어와 단어 사이에는 www.acmicpc.net 문제 정리 ▾ 문장의 개수를 입력받는다. 그 후 문장을 입력하고 띄어쓰기를 기준으로 단어들을 뒤집어 출력시키면 된다. 접근 🚶🏻 나의 생각 ▾ 뒤집는다에서 내 머릿속엔 reversed() 메서드가 생각이 났다. 적절한 for문과 forEach문을 사용한다면 구현이 가능할 것으로 판단이 되었다. 나의 해결 ▾ import Foundation let cn..

[Swift]BOJ-10828
Algorithm.zip 2022. 1. 30. 14:35

BOJ-10828, 스택 문제 📑 https://www.acmicpc.net/problem/10828 10828번: 스택 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 정리 ▾ 처음 명령어의 개수가 입력되고, 각각의 명령어가 입력이 되었을 때 명령어에 맞는 결과를 출력하면 된다. push: 스택에 값을 넣는 명령어 pop: 스택 가장 위에 있는 정수 출력 및 제거, 비어있을 경우 -1 출력 size: 스택의 사이즈 출력 empty: 스택이 비어있으면 1, 아니면 0 출력 top: 스택 가장 위에 값 출력,..

[Swift]BOJ-10815
Algorithm.zip 2022. 1. 29. 13:59

BOJ-10815, 숫자 카드 문제 📑 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 문제 정리 ▾ N개의 정수 리스트(standardLst)가 있고, M개의 정수 리스트(haveLst)가 있는데 haveLst 정수 중 standardLst에 포함된 정수가 있으면 "1", 없으면 "0"을 출력하는 프로그램 접근 🚶🏻 나의 생각 ▾ 저번 1290번 문제와 같은 유형이라 생각했다. (이진 탐색) 첫 번째 방법 ▾ i..

[Swift]BOJ-1158
Algorithm.zip 2022. 1. 27. 12:31

BOJ-1158번, 요세푸스 문제 📑 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 문제 정리 ▾ 1~N까지 차례로 들어있는 배열에서 K번째 원소를 삭제 배열의 끝에 도달 시, 다시 처음으로 이어지며 카운팅(카운팅은 유지된다) 하여 삭제 삭제되는 순서대로 출력하면 끝 ! 접근 🚶🏻 나의 생각 ▾ 문제를 보았을 때 처음 생각난 건 매 K번째의 원소를 새로운 배열에 넣어줌과 동시에 삭제해주고, 다 삭제가 되었을 때(기존 배열이 비었을 때) 새로운 배열을 출력하면 된다고 생각했다. 처음 문제를 이해하는데만 10분... 이후 생각한 대로 나..

[Swift]BOJ-1920
Algorithm.zip 2022. 1. 26. 12:17

BOJ - 1920번, 수 찾기 문제 📑 https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 정리 ▾ 첫 번째 Array가 두 번째 Array의 원소를 가지고 있는지를 판별하여, 포함되어 있으면 "1"을 출력하고, 포함되어 있지 않으면 "0"을 출력한다. 접근 🚶🏻 첫번째 방법 ▾ 문제를 보자마자 contains가 생각이 났다. contains는 문자열 혹은 배열에서 특정 문자가 포함되어 있는지..

[iOS]카카오 로그인(소셜)
iOS_Swift.zip 2022. 1. 25. 10:27

본 게시물은 쓴이의 경험을 토대로 한 것임으로, 100% 정답이라고 할 수 없습니다. 가볍게 참고만 해주시면 감사하겠습니다 😁 카카오 로그인 Set Up ▾ 요구사항 ⚠️ Xcode 11.0 이상 iOS 11.0 이상 iOS Deployment Target 11.0 이상 Swift 4.2 이상 위 요구사항이 충족이 된다는 가정으로 진행하겠습니다. 설치하기 ⬇️ 우선 쓴이는 Cocoapods를 이용해 iOS SDK를 설치하였습니다. # 전체 추가 pod 'KakaoSDK' # or # 필요한 모듈 추가 pod 'KakaoSDKCommon' # 필수 요소를 담은 공통 모듈 pod 'KakaoSDKAuth' # 사용자 인증 pod 'KakaoSDKUser' # 카카오 로그인, 사용자 관리 pod 'KakaoS..