본문 바로가기

전체 글

(87)
[Algorithm/Swift] 프로그래머스(Lv.3) - 입국심사 안녕하세요 제인입니다! 요즘은 프로그래머스의 문제들을 꾸준히 풀면서 취약한 유형의 문제들을 프로그래머스, 백준에서 더 찾아서 연습해보는 방식으로 PS 실력을 꾸준히 향상시키려고 노력하고 있는데요, 오늘은 저번에 문제를 통해 이분탐색 문제를 처음 접하고, 더 연습해보고 싶어서 프로그래머스에서 이분탐색 연습문제를 찾아서 풀어봤습니다! 풀다보니 징검다리 건너기 문제와 비슷한 점이 많은 것 같아서 이분탐색 문제를 접했을 때 접근하는 방법에 대해 기록해두면 좋을 것 같아서 가져와봤습니다 :) 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 일단..
[Algorithm/Swift] 프로그래머스(Lv.2) - 가장 큰 정사각형 찾기 안녕하세요 제인입니다! PS..를 들고 왔습니다....혼자 해결못한 문제가 또 생긴 것이죠..예.. PS 실력이 왜 이렇게 안늘까요....좀 더 많은 문제를 풀어봐야겠어요.. 문제 링크 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 일단 이 문제는 DP(Dynamic Programming) 알고리즘을 이용해 풀어야하는 문제였습니다. 1915번: 가장 큰 정사각형 첫째 줄에 n, m(1 ≤ n, m ≤ 1,000)이 주어진다. 다음 n개의 줄에는 m개의 숫자로 배열이 주어진다. www.acmicpc.net 프로그래머스의 연습문제라 백준에도 동일한..
[Swift] 프로퍼티(Properties) - 타입 프로퍼티 안녕하세요 제인입니다:) 프로퍼티 시리즈 마지막!으로 타입 프로퍼티에 대해 정리해보겠습니다. 바로 시작할게요~! 타입 프로퍼티 (Type Properties) 이전에 정리했었던 저장 프로퍼티, 연산 프로퍼티는 모두 특정 인스턴스에 속한 인스턴스 프로퍼티입니다. 인스턴스 프로퍼티는 어떠한 타입(class, struct 등)의 인스턴스가 생성되었을 때 사용할 수 있는 프로퍼티로, 인스턴스를 새로 생성할 때마다 새로운 프로퍼티도 같이 생성되고, 인스턴스마다 다른 값을 지닐 수 있습니다. 각각의 인스턴스가 아닌 타입 자체에 속하는 프로퍼티를 타입 프로퍼티라고 합니다. 타입 프로퍼티는 타입 자체에 영향을 미치는 프로퍼티로, 인스턴스의 생성 여부와 상관없이 타입 프로퍼티의 값은 하나입니다. 그렇기 때문에 해당 타..
[Swift] 프로퍼티(Properties) - 프로퍼티 옵저버 안녕하세요 제인입니다! 지난 게시글에 이어 프로퍼티 2탄(lazy까지 합치면 3탄..)으로 프로퍼티 옵저버에 대해서 정리해보려고 합니다. 프로퍼티 옵저버는 UI 업데이트가 필요할 때 유용하게 많이 사용하게 되는 것 같아서(물론 Rx로 비동기적으로 업데이트 되도록 처리해줄 수도 있겠지만..) 잘 정리해두면 좋을 것 같습니다!! 프로퍼티 옵저버를 이해하기 위해서는 저장 프로퍼티, 연산 프로퍼티에 대한 이해가 필요하니 개념이 잘 안잡혀있다면 아래 게시글들을 읽고 오시는 것을 추천드립니다~! 1) 저장 프로퍼티(Stored Properties)와 연산 프로퍼티(Computed Properties) 2) 지연 저장 프로퍼티(Lazy Stored Properties) 프로퍼티 옵저버 (Property Observe..
[Swift] 프로퍼티(Properties) - 저장 프로퍼티, 연산 프로퍼티 안녕하세요 제인입니다 :) 지난 게시글에서 지연 저장 프로퍼티에 대해 정리해보았는데요, 시작한 김에 프로퍼티에 대해서 쭉 정리를 해보려고 합니다. 프로퍼티는 크게 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티 이렇게 세 가지로 나눌 수 있는데요, 이번 게시글에서는 저장 프로퍼티와 연산 프로퍼티에 대해 정리하도록 하겠습니다! 프로퍼티 (Properties) 저장 프로퍼티, 연산 프로퍼티, 타입 프로퍼티에 대해 알아보려면 먼저 프로퍼티가 무엇인지부터 알아야겠죠?? property는 재산, 속성 정도로 번역할 수 있는데요, Swift에서의 프로퍼티는 클래스, 구조체, 열거형 등에 관련된 값을 뜻합니다. 저장 프로퍼티 (Stored Properties) 저장 프로퍼티는 단순히 값을 저장하고 있는 프로퍼티 입니다..
[Algorithm/Swift] 프로그래머스(Lv.3) - 징검다리 건너기 안녕하세요 제인입니다:) PS로 하루를 힘차게 시작하려고 했는데 이제 할 일을 좀 하고 문제를 풀어야겠어요...ㅇ maxElement { max = maxElement } pointer1 += 1 pointer2 += 1 } return max } 처음에는 투 포인터를 활용해 슬라이딩 윈도우 기법으로 k개의 디딤돌을 한 구간으로 설정해서 전체를 스캔하는 방식으로 풀었습니다. 왜냐하면, 징검다리를 더 이상 건너지 못하게 되는 순간은 적힌 숫자가 0이 되는 디딤돌이 k개 연달아 나오는 경우이기 때문에 길이가 k인 구간 안에서의 최댓값이 해당 구간을 건널 수 있는 사람의 최대 숫자라는 것을 파악했고, 항상 가장 가까운 돌을 밟아야 하므로 한 사람이 건널 때마다 전체 돌의 숫자가 1씩 감소하기 때문에 전체 다리..
[Algorithm/Swift] 프로그래머스(Lv.3) - 기지국 설치 안녕하세요 제인입니다:) 꽤나 오랜만이죠..? 인간이 왤케 게으를까요 오랜만에 티스토리를 들어왔더니 피드에 새 글이 엄청 많네요.. 다들 꾸준한 기록 대단해..본받겠습니다.. 덕분에 저도 자극받고 다시 열심히 티스토리 글을 열심히 쪄보려고 합니다!!!! 오늘은 PS 기록을 남겨보려고 하는데 갑자기 Lv3..? 티스토리에 풀이기록은 안했지만.. 머 풀다보니 레벨3까지 왔네요? 레벨3 문제를 풀다보니 확실히 특정 알고리즘을 사용해야하거나, 효율성까지 고려해야하는 문제가 많아서 기록의 필요성을 느꼈습니다. 그래서 앞으로 문제 풀이과정에서 새로 알게 되는 좋은 접근 방법이나 풀이 방법들을 글로 남겨보려고 합니다! 저의 PS 효율성을 위해 문제에 대한 설명은 생략하고 접근 및 풀이 위주로 기록해나가도록 할게요🙃🙂..
[Swift] lazy 키워드 안녕하세요 제인입니다 :) 요즘은 새로운 것들을 공부하기 보다 부족한 것들을 꼼꼼하게 채워보자는 생각으로 그동안 정확히 모르고 넘어갔던 구멍난 부분들을 채워보려고 노력하고 있는데요! 그러다보니 Swift, iOS 기본기를 더 탄탄히, 자세하게 공부해야겠다는 생각이 들더라구요..(사실 기본지식이 제일 중요하니까요) 그래서 생각날 때마다 정리하는 것들을 티스토리에도 기록해보려고 합니다. 오늘은 lazy 키워드, 지연 저장 프로퍼티에 대해서 정리해보려고 하는데요, lazy 키워드를 왜 사용하는지에 초점을 맞춰서 정리해보도록 하겠습니다! Lazy Stored Properties (지연 저장 프로퍼티) The Swift Language Guide에 따르면, 지연 저장 프로퍼티는 다음과 같습니다. 지연 저장 프로퍼..