문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. func solution(_ s:String) -> String { var str = Array(s) str.sort(by: >) let Str = String(str) return Str } 먼저 파라미터 s 를 배열로 바꿔 .sort를 활용하여 배열의 순서를 변경한다. 그 이후 다시 String으로 묶어 리턴하도록 식을 완성하였다. func solution(_ s:String) -> String { String(s.sorted { $0 > $1 }) } 이 답은 클로져를 활용해 더욱 더..
오늘은 하루종일 ToDoList 만들기 과제에 모든 시간을 쏟아버렸다.. TableView Delegate 패턴의 적용은 간단하기도 하고 필수 구현내용이 없어서 금방 적용할 수 있었지만, Datasource의 경우 필수 구현내용 함수에서 자꾸만 에러가 나 시간을 너무 많이 잡아먹었다. 차라리 코드로 짜버리고 싶은 마음이 굴뚝 같았지만 과제 구현 사항이 Storyboard를 사용하여 구현해야 하므로 오늘 헤맸던 구간에 대해서 기록을 해두려고 한다. Storyboard 를 사용하여 TableView 세팅하기 Storyboard 컴포넌트 VC 내 TableView를 넣어주고 오토레이아웃을 topAnchor 만 버튼의 height 만큼 (40) 넣어주고 나머지 면을 0으로 설정해 가득 차게 구성하였다. 그 이후..
캐시 메모리는 컴퓨터 시스템에서 중요한 역할을 하는 메모리 유형 중 하나입니다. 주로 CPU와 메인 메모리 간의 속도 차이를 보완하여 시스템의 전반적인 성능을 향상시킵니다. 역할 : 캐시메모리는 CPU가 자주 사용하는 데이터나 명령어를 임시로 저장하는 고속의 메모리입니다. CPU가 메인 메모리보다 빠르게 데이터에 접근할 수 있어 전체적인 시스템 성능이 향상됩니다. 저장 위치 : 캐시 메모리는 CPU내부에 위치하거나 CPU와 메인 메모리 사이에 위치합니다. 물리적으로는 CPU와 가까운 위치에 있어서 접근 속도가 빠릅니다. 종류 : 캐시 메모리는 레벨에 따라 L1, L2, L3 캐시로 나뉩니다. 각 레벨은 CPU 코어와의 거리에 따라 구성되어 있으며, L1이 가장 빠르고 작고, L3이 가장 크고 느립니다. ..
CPU (중앙 처리 장치) : CPU는 컴퓨터의 핵심으로 모든 연선과 제어를 수행합니다. 프로그램이나 명령어를 실행하고, 데이터를 처리하며, 입력/출력을 관리합니다. CPU는 제어장치(Control Unit) 와 연산장치(ALU, Arithmetic Logic Unit)로 구성됩니다. 제어장치는 명령어를 해독하고 실행하는 역할을 수행하며, 연산 장치는 산술 및 논리 연산을 수행합니다. CPU는 메모리에서 데이터 및 명령어를 읽어들여 처리하고, 결과를 다시 메모리에 저장합니다. RAM (랜덤 엑세스 메모리) : RAM은 컴퓨터가 현재 사용하는 프로그램 및 데이터를 일시적으로 저장하는 곳 입니다. CPU가 실제로 작업하는 데이터를 보관하는 주 기억 장치 입니다. RAM은 데이터를 랜덤하게 읽고 쓸 수 있으며..
문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. func solution(_ left: Int, _ right: Int) -> Int { var result = 0 // left 부터 right 까지 모든 수 반복 for num in left...right { var count = 0 // 1부터 해당 숫자까지의 수로 나누어 약수 갯수 계산 for i in 1...num { if num % i == 0 { count += 1 } } // 약수의 갯수가 짝수면 + 홀수면 - if count % 2 == 0 { re..
앱의 생명주기 앱의 생명주기는 앱이 시작되고 종료될 때까지의 주요 이벤트 및 상태를 설명하는 개념이다. Not Running : 앱이 실행되지 않은 상태이며, 시스템이 앱을 아직 시작하지 않았거나 앱이 종료되었을때의 상태 Inactive : 앱이 실행 중이지만 이벤트를 받지 않는 상태이다. 앱이 백그라운드에 있거나 다른 앱이 화면을 가리고 있을때의 상태 아래에서 위로 스와이프 하는 순간 InActive 상태가 된다. Active : 앱이 화면에 표시되고 사용자 이벤트를 처리하는 상태이다. 앱이 직접 상호작용하고 화면에 표시될 때 이 상태가 된다. Background : 앱이 백그라운드에서 실행 중이고 코드를 실행하거나 업데이트 할 수 있는 상태이다. 예를 들어 위치 업데이트 및 네트워크 작업 수행과 같다..
오늘은 코드로 기능을 구현하는 것 중 많이 사용하고 있는 기능에 대해 숙지했다. 미리 애플에서 만들어진 완성도 높은 기능을 사용할 수 있다는게 매우 흥미로웠다. 알럿(Alert) 사용법 button.addTarget(self, action: #selector(resetButtonTapped), for: .touchUpInside) // selecter로 만들었기 때문에 앞에 objc 를 꼭 붙여줘야함 @objc func resetButtonTapped() { // print("리셋버튼이 눌렸습니다.") let alert = UIAlertController(title: "비밀번호 변경", message: "비밀번호를 변경하시겠습니까?", preferredStyle: .alert) let success = ..
NSLayoutConstraint.activate([ emailInfoLabel.leadingAnchor.constraint(equalTo: emailTextFieldView.leadingAnchor, constant: 8), emailInfoLabel.trailingAnchor.constraint(equalTo: emailTextFieldView.trailingAnchor, constant: 8), emailInfoLabel.centerYAnchor.constraint(equalTo: emailTextFieldView.centerYAnchor), emailTextField.leadingAnchor.constraint(equalTo: emailTextFieldView.leadingAnchor, const..
아키텍처(Architectuer) 애플리케이션을 설계하고 구축하는데 사용되는 구조와 패턴을 나타낸다. 모델의 구성과 동작 원리, 구성요소 간의 관계 및 시스템 외부 환경과 관계 등 포괄하여 설명하는 설계도 같은 것 MVC (Model-View-Controller) 애플리캐이션의 구성 요소를 모델(Model) , 뷰(View), 컨트롤러(Controller)로 분리하는 패턴이다. 모델은 데이터 및 비즈니스 로직을 타나태며, 뷰는 사용자 인터페이스를 표시하고, 컨트롤러는 사용자 입력을 처리하고 모델 및 뷰 간의 상호 작용을 조정한다 Cocoa 및 Cocoa Touch 프레임워크는 MVC 아키텍처를 기반으로 구축되었다. Model 데이터 저장, 가공, 관리 등과 같은 역할을 담당 사용자 정보, 애플리케이션 설..
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.