본문 바로가기

분류 전체보기151

[백준] (Python) 1193번: 분수찾기 머리말 문제 링크 1193번: 분수찾기 이 문제를 선택한 이유 구현 문제를 푸는데 나에게 맞는 난이도를 조절하기 위해 평소보다 약간 느슨한 난이도의 문제를 골랐다. 스터디를 새로 만들었는데, 팀원이 알고리즘 문제가 익숙하지 않아서 같이 풀어 보기 위해서 너무 쉽지도, 어렵지도 않은 문제를 찾다 보니 선택하게 되었다. 풀이 1. 직접 예시를 입력해 보기 아래처럼 직접 순서를 써 보았다. """ row x numer/denom 1 1 1/1 2 2 3 1/2 2/1 3 4 5 6 3/1 2/2 1/3 4 7 8 9 10 1/4 2/3 3/2 4/1 5 11 12 13 14 15 5/1 4/2 3/3 2/4 1/5 """ """ 8은 4번 줄의 2번째이다 row 8 - 1 = 7 1 8 - 1 - 2 = 5 .. 2023. 5. 22.
[Swift] 프로퍼티(Properties) 보호되어 있는 글 입니다. 2023. 5. 21.
[세션 기록] (5월) Seoul iOS Meetup (@Gangnam) 머리말 들어가기 전에 아래 블로그 내용은 2023년 5월 20일 Seoul iOS Meetup에 있던 세션을 정리한 기록입니다. 혹시나 문제가 되는 내용이나 정정해야 하는 부분이 있다면 알려주시길 바랍니다. The blog below is a summary of the session of Seoul iOS Meetup on May 20, 2023. Please let me know if there is anything that is problematic or needs to be corrected. 세션 일정 및 장소 2023년 5월 20일 서울시 강남구 참가한 이유? iOS 개발자가 되기 위한 동기 부여 내 영어 실력(듣기, 말하기, 쓰기)을 점검하고 커뮤니케이션 능력 연습(독학이나 온라인 스터디 학습.. 2023. 5. 20.
[백준] (Swift) 20546번 기적의 매매법 머리말 이 문제를 선택한 이유 - 구현 문제 연습 앨런(Allan)과 하고 있는 디코 월목 스터디에서 이번 달에는 구현과 문자열에 집중해 보기 위해 택했다. 알고리즘에 대한 이론보다는 나의 사고 과정을 코드로 옮기는 연습이 필요한 시기였다. 문제 링크 20546번: 🐜 기적의 매매법 🐜 풀이 매매 전략이 두 개이기에 각 전략에 대한 함수가 필요해 보였다. 매개변수는 공통적으로 현재 남아 있는 현금(budget)과 주식 차트의 배열(stockChart)을 설정했다. 현재 주식의 가격은 주식 차트의 배열(stockChart)에서 인덱스로 접근하기로 했다. 각 전략에서 필요한 전량 매수와 전량 매도에 대한 함수를 각각 만들었다. 단순히 변수와 연산자로 구현할 수도 있겠지만, 함수의 가독성을 위해 언제 사고파는.. 2023. 5. 19.
클래스와 구조체 차이 보호되어 있는 글 입니다. 2023. 5. 18.
[Swift] 구조체와 클래스(Structures and Classes) 머리말 참고 자료 Swift 영문 공식 문서 - Structures and Classes Structures and Classes | Documentation Swift 한글 공식 문서 - 구조체와 클래스(Structures and Classes) 구조체와 클래스 (Structures and Classes) - Swift 공통점과 차이점 차이점 구조체 클래스 ⭐️ 타입 Value Type Reference Type 메모리 저장 - in Stack - Stack Frame이 종료 시 자동 제거됨 - in Heap - ARC에 의해 자동으로 메모리 관리 인스턴스의 저장 모든 데이터 in Stack - 인스턴스 데이터 in Heap - 변수 in Stack 복사본 생성 값을 할당할 때마다 새로운 메모리 공간을.. 2023. 5. 17.
[백준] (Swift/Python) 1213번: 펠린드롬 만들기 1213번: 팰린드롬 만들기 풀이 알파벳 26개를 인덱스로 갖는 배열 만들기 대문자 알파벳 26개만 입력값으로 주어지기에, 26개의 배열을 만들어 A부터 Z까지 각각 0~25의 인덱스로 설정하여 알파벳 개수를 요소로 설정한다. 따라서 Swift의 경우에는 asciiValue와 Unicode.Scalar를, Python의 경우에는 ord와 chr를 적절히 설정하여 알파벳에 해당하는 인덱스를 알맞게 접근해야 한다. 문자의 개수가 홀수인 문자는 0 또는 1이어야 한다. 펠린드롬에서 알파벳 개수가 홀수인 문자는 무조건 펠린드롬의 가운데 글자가 되어야 한다. 만약 개수가 홀수인 문자가 2개 이상이면, 해당 글자 모두 정가운데에 위치해야 하는데 그러면 펠린드롬이 성립할 수가 없다. 코드 Swift import Fo.. 2023. 5. 16.
[프로그래머스] (Swift) 크기가 작은 부분 문자열 - Lv.1 코딩테스트 연습 - 크기가 작은 부분 문자열 | 프로그래머스 스쿨 풀이 문자열을 배열로 분리 매개변수 t의 숫자를, 문자열 타입의 숫자로 하나로 분리한 배열로 변환한다 반복문에 필요한 범위와 부분문자열의 길이를 할당한다 부분문자열이 p보다 작거나 같으면 결괏값을 1 증가시킨다 코드 import Foundation func solution(_ t:String, _ p:String) -> Int { // solution("3141592", "271") // 매개변수 t의 숫자를, 문자열 타입의 숫자로 하나로 분리한 배열로 변환 let stringArray = Array(t).map { String($0) } // ["3", "1", "4", "1", "5", "9", "2"] // 결괏값을 0으로 초기화 v.. 2023. 5. 11.
[프로그래머스] (Swift) 카펫 - Lv.2 코딩테스트 연습 - 카펫 | 프로그래머스 스쿨 머리말 카테고리에 적혀 있는 풀이 힌트 원래 알고리즘을 풀 때 최대한 해당 문제의 주제를 알지 않으려고 한다. 이미 그 알고리즘 방식을 알고 풀면 실제 시험 상황처럼 당황하지 않기 때문이다. 하지만, 사이트에서 이미 완전 탐색임을 알려 주는 바람에 큰 힌트를 얻었다. 풀이 카펫의 면적은 갈색 격자의 수와 노란색 격자 수의 총합과 같다. 카펫의 상하좌우의 끝이 모두 한 줄이기 때문에 가로와 세로의 길이를 각각 2를 빼서 서로 곱하면 그것이 노란색 격자의 수와 같다. /* area = brown + yellow = row * col yellow = (row - 2) * (col - 2) OOOO OXXO OOOO OOO OXO OOO OOOOOOOO OXXXXX.. 2023. 5. 10.
Swift) 값이 없는 듯 있는 nil의 정체 (feat. 옵셔널은 열거형이다) 목차 머리말 옵셔널을 공부하던 중 알게 된 nil의 정체 Optional에 대한 강의를 듣다가 아주 충격적인(?) 말을 듣게 되었다. Swift의 nil은 C언어의 null처럼 단순히 값이 없는 상태가 아니라, 값이 없음을 나타내는 임시적인 값이다. 나는 nil이라는 값이 정말 존재하는 줄 알았는데 그건 아니고 임시 값이라는 것을 알게 되었다. 이게 뭔 소리람… 값이 있는 데 없는 척을 한다는 건가 nil의 개념에 대해 찾게 된 과정 1) Swift 공식 문서에서의 nil 공식 문서에서 nil에 대한 내용은 Objective-C에서의 nil과 Swift에서의 nil을 비교하는 내용에 적혀 있는데, 직접 번역해 보았다. 1-1) 값의 부재(不在) (2023-12-02 검토) In Objective-C, `.. 2023. 5. 9.
반응형