본문 바로가기

반응형

분류 전체보기

(400)
[Swift] 기본 자료형에 대해 알아보자! - 3 (Any, AnyObject, nil) 지난 포스팅에서는 Bool, Character, String 자료형에 대해 알아보았는데요, 이번 포스팅에서는 Any, AnyObject, nil에 대해서 간단하게 알아보도록 하죠! Any Any는 따로 공식문서에 나와있지 않네요.. (제가 못찾는 것일까요?) Any는 말 그대로 Swift의 모든 데이터 타입을 사용할 수 있다는 뜻이에요. 아래 코드를 보면 어느 자료형이 들어가도 할당되는 것을 볼 수 있어요. 물론 아직 포스팅하진 않았지만 [Any] 배열에는 다른 데이터 타입이 들어가도 상관 없습니다. AnyObject AnyObject는 프로토콜이고, 모든 클래스가 AnyObject 프로토콜을 준수하고 있다고 하네요! 아직 프로토콜과 클래스에 대한 이해가 부족할 수 있으실 거에요! 일단 지금은, Any는..
[BOJ] 백준 2036 수열의 점수 (Swift) 문제 https://www.acmicpc.net/problem/2036 2036번: 수열의 점수 n개의 정수로 이루어진 수열이 있다. 이 수열에서 한 정수를 제거하거나, 또는 두 정수를 제거할 수 있다. 한 정수를 제거하는 경우에는 그 정수가 점수가 되고, 두 정수를 제거하는 경우에는 두 www.acmicpc.net 풀이 1보다 큰 양수는 큰 양수끼리 곱하는 것이 가장 큰 값이 나올 것이다. 1은 더하는게 가장 큰 값이다. 1과 다른 수를 뽑아서 곱해봤자, (1 * x) = x 이기 때문 음수는 가장 작은 음수끼리 곱하는 것이 가장 큰 값이 나올 것임 0은 음수가 남았을 때, 음수랑 곱해주면 0으로 가장 큰 값이 나오게 될 것이다. 그 외에는 있으나 마나..? 그러므로 배열을 입력받고, 1보다큰 양수, ..
[iOS] Swift 키보드가 올라왔을 때, 아무키를 눌러도 키보드 호출함수 두번 발생? Xcode 버그? 안녕하세요. 오늘은 키보드 관련 오류를 겪어서 공유하고자 글 적습니다. 오류 상황 UITextField를 만들어줌 UITextField를 터치시 키보드가 올라오는데, 키보드가 올라왔을 때 실행시켜주고 싶은 동작이 있음 NotificationCenter에 키보드가 올라온 뒤, 실행되는 메서드를 addObserver 해줌 키보드가 정상적으로 올라호고 메서드가 잘 작동 됨 하지만 키보드에 있는 아무키를 눌렀는데 키보드가 올라올 때, 작동되는 메서드가 또 작동이 되는 현상이 발생 (딱 1번) 정말 뭐가 문제인지 모르겠어서 구글링을 해봤는데도 답을 찾을 수 없었습니다.. keyboardwillshownotification when i press key 같은 키워드로 찾아보았지만 원하는 답이 없었습니다. 지푸라기 ..
[Programmers] 캐시 (Swift) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 문제를 풀려면 LRU에 대한 지식이 있어야 할 것 같다. LRU란 한 마디로 가장 오랜 시간 사용되지 않은 페이지를 교체하는 알고리즘 본래대로라면 연결리스트, 해쉬맵 등. LRU를 구현해야겠지만, 간단하게 배열로 풀이하였음 캐시 배열에 도시이름이 있다면 cache hit, 캐시 배열에 있는 city를 제거한 후, 캐시의 0번 인덱스에 city를 넣어줬음 캐시 배열에 도시이름이 없다면 c..
[BOJ] 백준 5545 최고의 피자 (Swift) 문제 https://www.acmicpc.net/problem/5545 5545번: 최고의 피자 상근이는 근처 피자 가게에서 매일 저녁으로 피자를 배달해 먹는다. 주머니 사정이 얇아진 상근이는 이번 달부터는 "최고의 피자"를 구매하려고 한다. 최고의 피자란, 피자 가게에서 주문할 수 www.acmicpc.net 풀이 1원 당 열량이 가장 큰 피자가 최고의 피자이고 최고의 피자의 1원 당 열량을 구하는 문제 입력받은 토핑을 가장 큰 열량별로 정렬을 해주고, 1원 당 열량을 계산하는 방식으로 풀이할 수 있겠다고 생각이 듬 1원 당 열량을 계산하고, 다음 토핑을 추가했을 때, 1원 당 열량이 현재보다 크다면 토핑을 추가하고 아니라면 더 이상 토핑을 추가하지 않으면 될 것이다 라고 생각함 소스코드 후기 소스코드..
[Programmers] 다음에 올 숫자 (Swift) 문제 https://school.programmers.co.kr/learn/courses/30/lessons/120924 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 등비수열인지 등차수열인지 판별하는 로직이 있어야 할 것이라고 생각함 Enum을 사용해서 타입을 정해줄 수 있지 않을까?! 1번 데이터와 2번 데이터의 차이를 먼저 계산하고 2번 데이터와 3번 데이터의 차이가 같다면 등차, 다르다면 등비 일 것이다! 소스코드 후기 다른분들의 풀이를 봤는데 1줄로 짠 코드를 봤다. 풀이한 로직은 거의 비슷했다고 생각이 들었음!
[BOJ] 백준 11725 트리의 부모 찾기 (Swift) 문제 https://www.acmicpc.net/problem/11725 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리의 루트를 1이라고 정했을 때, 각 노드의 부모를 구하는 프로그램을 작성하시오. www.acmicpc.net 풀이 먼저 트리를 그려보았음 루트노드가 1로 고정되어 있어서 BFS/DFS를 1에서 한번만 수행시키면 되겠다고 생각했음 간선의 개수는 노드의 개수 - 1개 이므로, 무조건 모든 노드가 연결되어 있을 것이라고 생각했음 부모의 노드를 알기 위해서는 현재노드 -> 다음노드 로 탐색할 때, 현재노드의 번호를 어딘가에 담아둬야 될 것이라고 생각했음 visited 배열을 [Bool] 자료형으로 선언해서 사용했었는데, [Int]로 선언에서 그곳에 담아두어서 해결할 수..
[BOJ] 백준 11724 연결 요소의 개수 (Swift) 문제 https://www.acmicpc.net/problem/11724 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주 www.acmicpc.net 풀이 먼저 예제입력 1에 있는 그래프를 그려보았다. 방문하지 않은 모든 노드에대해 BFS/DFS를 수행하면서 총 몇번 수행되는지 확인하면 연결 요소의 개수를 확인할 수 있겠다고 생각했다. [1]번 노드에대해 BFS/DFS 수행시 [2, 5] 노드를 방문하기 때문에 2번 노드는 건너뛰고 3번 노드에 대해 BFS/DFS 수행.. [3..

반응형