분류 전체보기 65

속성과 메서드 한번에 정리. 이젠 까먹지 말자.

1. 속성 (1) 저장속성 우리가 흔히 쓰는것.. (2) 지연속성 - lazy var를 사용한다. - 초기값을 꼭 세팅 해주어야 한다. - init에서 초기화를 하지 않는다. - 접근 할 때 그 순간 해당 저장속성만 메모리에 할당된다. - 쓰는이유: 메모리를 많이 사용하거나, 다른 속성을 이용할때 주로 쓴다. (3) 계산속성 - var 변수명: 타입{ get { } set { newValue를 사용. } } - get쪽은 필수적으로 구현해야함 - 값을 얻을때 get실행, 값을 세팅할때 set실행 - 속성 형식의 사실상 메서드 - 메서드라 인스턴스에 메모리공간을 사용하지 않음. 데이터영역에 메서드처럼 클래스에 달려있음. (4) 타입속성 - static을 앞에 붙인다. 타입에 선언된 속성이라 접근할때도 >>..

swift문법 2024.01.08

반복+조건일때

https://school.programmers.co.kr/learn/courses/30/lessons/120831 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr for 에 if.. 당연히 이렇게 해도 되지만 !! 언제까지 이렇게 쓸거니 🥲 1. func solution(_ n: Int) -> Int { (0...n).filter { $0 % 2 == 0 }.reduce(0, +) } 2. func solution(_ n:Int) -> Int { var result = 0 for i in 1...n where i % 2 == 0 { result += i ..

백준 2024.01.06

[기숙사식구들] 테이블뷰컨트롤러 위에 뷰를 올릴 수 없다는것을 깨달았을때

(좌)헤더뷰 (우)실행화면 내가 원했던 로직이 오른쪽의 실행화면이었다. 애초에 서치바를 적용한 루트 뷰컨트롤러는 테이블뷰컨트롤러로 세팅해둔상태. 테이블뷰 컨트롤러 위에 뷰를 올리려고 하였으나, 그럴 방법이 없다는것을 깨달았다. 고민을 하다가 테이블뷰의 헤더의 높이는 마음대로 조정이 가능하니까 1) 서치바가 비활성화일시 >> 헤더의 높이를 높인다. 2) 서치바가 활성화일시 >> 헤더를 hidden처리(만 하니까 공백이 생겨서) + 헤더의 높이를 0으로 세팅 그 결과 오른쪽과 같은 실행을 할 수 있게 되었다. >> 임의의 뷰 대신 헤더를 사용하였음

iOS앱만들기 2024.01.03

[기숙사 식구들] 탭바+네비게이션 스토리보드로 쉽게 세팅하는 법

기숙사 식구들 어플의 대략적인 디자인이 완성되었다. 이 프로젝트는 최대한 빠른 배포를 위하여 스토리보드로 작업하려 한다. 첫번째 관문은 탭바 + 네비게이션바를 우선적으로 만들어야하는 상황인데, 스토리보드를 잘 써보지 않아서 좀 헤매었다. 삽질을 몇번 하다 보니 매우매우매우 쉬운 작업이라는걸 깨달았다. 1. 탭바뷰컨트롤러를 생성한다 1-1) +버튼을 눌러 탭바 뷰 컨트롤러를 생성한다. 1-2) 이렇게 디폴트로 탭 아이템이 2개가 생성이 된다. 1-3) 연결되있는 뷰컨트롤러 두개를 삭제한다. (delete키 누르면 바로 삭제됨) 2. 네비게이션 컨트롤러를 생성한다. 2-1) +를 눌러 레비게이션 컨트롤러를 생성한다. 2-2) 생성하면 모양이 이렇게 되는데, 난 탭아이템 가짓수를 두개로 하고싶어서 네비게이션컨..

iOS앱만들기 2024.01.01

n과m 대표적인 백트래킹문제

백트래킹이라는 개념이 처음이라, 이 문제를 접했을땐 그저 bfs로 풀 생각을 했다. 백트래킹이란? 현재 상태에서 다음상태로 가는 모든 경우의 수를 찾아서 이 모든 경우의수가 더 이상 유망하지 않다고 판단되면 이전의 상태로 돌아가는 것을 말한다. (bfs에서 필터가 걸린느낌?? 같다.) n과m(1) https://www.acmicpc.net/problem/15649 15649번: N과 M (1) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 인풋이 4 2라면 돌아가는 로직을 간단하게 그려보았다. 코드 이해 ㅇ 안보고도 풀어 ㅇ 눈에 익히면..

백준 2023.12.30

그래프 BFS DFS

https://www.acmicpc.net/problem/1260 1260번: DFS와 BFS 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1,000), 간선의 개수 M(1 ≤ M ≤ 10,000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사 www.acmicpc.net 이 문제를 몇번이나 푸는지 모르겠지만 bfs/dfs문제들은 공백기가 생기면 초기화되는 매직 🥲 다시 풀려면 처음부터 공부하다보니 시간을 오래 잡아먹어서 이번기회에 제대로 잡고 가려고 포스팅을 한다. 이 포스팅에선 !!그래프와 관련된!! BFS/DFS만 다룬다. // // 1260.swift // BOJ // // Created by leehwajin on 20..

백준 2023.11.19

비밀지도

프로그래머스 - 비밀지도 https://school.programmers.co.kr/learn/courses/30/lessons/17681 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내 코드 코드 통과가 되었다고 좋아했는데 좋은 코드가 아니라는것은 인식하고 있었다. func solution(_ n:Int, _ arr1:[Int], _ arr2:[Int]) -> [String] { var arr1String: [String] = [] var arr2String: [String] = [] for number in 0..

백준 2023.11.12

연속되는 문자에 관한 문제 풀이

프로그래머스 - 짝지어 제거하기 https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제를 접했을때 직관적으로 while문(true) 안에 for문(문자열의 갯수)으로 작동하는 이중 반복문을 생각하고 풀었는데 시간초과가 났다. 다른 사람의 코드를 참고하였는데, 연속되는 문자에 관한 문제는 스택으로 접근하것이 옳은 방법이라고 생각 되어 까먹지 않기 위해 포스팅을 한다. //다른사람 코드 //내코드와 비교했을때 2중 반복문을 사용하지 않음 //스택..

백준 2023.11.11