전체 글 79

[백준 / Python / Swift ] 16507 어두운 건 무서워

더보기이 포스트는 백준 16507 번 어두운 건 무서워 문제를을 Swift 와 Pyhon 언어로 풀어서 작성하였습니다.👽 누적합이 포스트는 저번 13900 번 문제와 같이 누적합을 이용하여 구하는 문제입니다.간단히 누적합은 배열에서 일정 구간의 합을 빠르게 구하기 위해 사용되는 기법입니다. 바로 문제를 풀어 보겠습니다. # 문제 호근이는 겁이 많아 어두운 것을 싫어한다. 호근이에게 어떤 사진을 보여주려는데 사진의 밝기가 평균 이상이 되지 않으면 일절 보려 하지 않는다. 호근이가 이 사진에서 일부분이라도 볼 수 있는 부분을 찾아주자.위 그림은 호근이에게 보여줄 5×6 크기의 사진이며, 각 픽셀은 밝기를 나타낸다. 호근이가 사진의 일부분이라도 볼 수 있는지 알아보기 위해서는 두 점 (r1, c1)과 (r2..

백준 2025.07.23

[Flutter] 라우팅(Push, Pop, Navigator, Nested Routing)

더보기이 포스트는 활동하는 동아리 내에서 공부한 뒤, 복습을 위해 작성하였습니다.👽 들어가기 전, 스택 자료 구조플러터에서 화면 전환은 어떻게 이루어질까요?바로 "페이지 스택" 을 통해 관리합니다.모든 페이지는 페이지 스택에 쌓이고, push 와 pop 을 통해 라우팅하게 됩니다.이 구조를 제대로 이해하기 위해서 먼저, 스택 자료구조에 대해 간단히 설명해 보겠습니다! ✔️ Stack이를 알고 있다면, 플러터의 라우팅과 유사하기 때문에 좀 더 쉽게 이해할 수 있습니다.스택 자료구조는 FILO 특성을 가지고 있습니다.Frist in last Out. 쉽게 말하면, 첫 번째로 들어간 원소가 가장 마지막에 나오게 되는 것을 의미합니다.플러터에서도 각 페이지들은 스택 위에 쌓이고, 화면 전환은 스택의 push ..

Flutter 2025.07.22

[백준 / Swift / Python ] 13900 순서쌍의 곱의 합

더보기이 포스트는 백준 13900 번 순서쌍의 곱의 합을 Swift 와 Pyhon 언어로 풀어서 작성하였습니다.👽 누적합누적합은 배열에서 일정 구간의 합을 빠르게 구하기 위해 사용되는 기법입니다.예를 들어, 배열이 [2, 3, 4] 라고 가정해 봅니다.그랬을 때 나올 수 있는 쌍은 (2, 3) (2, 4) (3, 4) 세 개가 나오게 됩니다.그랬을 때 쌍의 곱과 그 결과의 합을 구하게 되면 26 으로 쉽게 구할 수 있습니다. 누적합을 활용하여, 13900 번 문제를 풀어 보겠습니다! # 문제N개의 정수 중 서로 다른 위치의 두 수를 뽑는 모든 경우의 두 수의 곱의 합을 구하라.예를 들어 N = 3이고 주어진 정수가 2, 3, 4일 때, 두 수를 뽑는 모든 경우는 (2, 3), (2, 4), (3, 4)..

백준 2025.07.19

[iOS] Open API 기반 앱 개발 4

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성되었습니다. 📌 Root View ControllerRoot View Controller 는 UIWindow 의 가장 첫 번째, 최상위 뷰 컨트롤러입니다.앱이 실행될 때 처음 사용자에게 보여지는 메인 뷰 컨트롤러입니다UINavigationController, UITabBarController 와 같은 컨테이너 뷰 컨트롤러가 주로 루트로 사용됩니다. 📌 Action Segue와 Manual Segue버튼, 셀 등 스토리 보드에서 직접 연결하는 Segue 를 Action Seuge 라 하고, 코드로 직접 호출해서 트리ㄱ하는 것을 Manual Segue 라고 합니다. 이의 차이점에 대해 설명해 보겠습니다.항목Aciton SegueMa..

iOS 2025.05.21

[iOS]Open API 기반 앱 개발 3

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성되었습니다.📌 JSON Decoderfunc decode(_ type: T.Type, from data: Data) throws -> T where T : Decodable JSON데이터를 원하는 데이터 타입으로 변환JSON객체에서 데이터 타입의 인스턴스를 디코딩where T : Decodable 이 메서드는 Decodable 프로토콜을 준수하는 타입을 대상으로 합니다. 📌 iOS 에서 AutoLayout화면 크기가 각기 다른 iOS 기기(아이폰, 아이패드 등)에서 UI(버튼, 레이블 등)가 잘 보이도록 위치와 크기를‘조건’으로 지정해주는 레이아웃 시스템입니다.이의 장점으로는 쉽고 직관적이며 입문자에게 적합하지만 복잡한 레이아웃..

iOS 2025.05.21

[iOS] Open API 기반 iOS 앱 개발 2

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.저번 포스팅에 이어서, 계속해서 영화 관련 앱을 하나 만들어 보겠습니다. 이렇게 에러가 나는 이유는 무엇일까요?클로저의 특성입니다. 이는 slef 를 통해 정확한 명시를 해 주어야 합니다.의도를 명확하게 하기 위하여, 명시적으로 나타내 주게 된다면 클로저가 인스턴스를 캡처한다는 사실을 개발자에게 알릴 수 있습니다.즉, 이런 식으로 만들어 줍니다.self.movieData = decodedData이런 식으로 한 번만 출력되도록, func numberOfSections(in tableView: UITableView) -> Int { return 1 }}리턴 1 로 수정해 주었습니다. 다음으로는 상수로 ..

iOS 2025.05.14

[iOS] Open API 기반 iOS 앱 개발 1

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.이번 포스트에서는 Open API 를 기반으로 하는 iOS 앱 개발을 해 보겠습니다.영화 진흥 위원회의 API 를 가지고 만들 예정입니다.먼저, 저는 영진위 사이트에서 고유의 키를 발급하여, 진행하였습니다. shift + cmd + l 을 눌러 tableView 를 먼저 추가해 주겠습니다.view 에 Table View 를 추가해 준 뒤, label 등 다양한 것들을 이용해 UI 를 구성해 주었습니다. 그 후, Outlet 지정을 해 주었습니다.@IBOutlet weak var table: UITableView! 다음으로는 새로운 파일을 하나 만들어 주겠습니다. 이렇게 코코아 파일을 추가해 주고, MyTableViewCe..

iOS 2025.05.14

[iOS] RESTful API

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.📌 Restful먼저, Restful 에 대해 알아 보기 전 REST 에 대해 간단히 설명해 보고 시작하겠습니다.REST 는 HTTP 기반의 소프트웨어 아키텍처 스타일입니다. 이는 웹에서 정보를 주고 받는 방법입니다.즉, 웹에서 컴퓨터들이 데이터를 주고 받는 규칙이라고도 합니다.REST 의 특징으로는 세 가지로 정리해 볼 수 있습니다.리소스 (resource)주소 (URL, URI)행동 (HTTP 메서드)리소스는 인터넷에 존재하는 모든 정보를 의미합니다. 회원이나 게시글 같은 것들이 될 수 있습니다.주소는 리소스마다 부여되는 것입니다. 예를 들면, https://dbsc0f1a.tistory.com/ 이런 식으로 저의 ..

iOS 2025.05.06

[iOS] 클래스 열거형 구조체

더보기더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.먼저, 열거형에 대해 알아 보겠습니다.나열할 때 사용하는 자료형입니다. 미리 정ㄹ해진 값들의 집합을 하나의 타입으로 정의하는 것입니다. 📦 쉽게 예를 들어보면:커피 종류: 아메리카노, 라떼, 카푸치노이러한 코드를 작성해 본다면, 열거형으로 이렇게 나타낼 수 있습니다.enum CoffeeType { case americano case latte case cappuccino}이렇게 Swift 로 나타낼 수 있습니다. 그렇다면 이러한 열거형은 Swift 내에서만 사용이 될까요? 🔷 enum을 지원하는 주요 프로그래밍 언어 목록다음 언어들은 enum(열거형)을 기본적으로 문법 차원에서 지원하거나, 라이브..

iOS 2025.04.16

[iOS] 옵셔널 체이닝 Error_Handling Generic Array

더보기이 포스트는 한성현 교수님의 iOS 프로그래밍 실무 수업을 듣고 작성하였습니다.오늘은 옵셔널 체이닝에 대해 먼저 예시를 들어 알아 보며, 작성을 시작해 보겠습니다. ✔️ 옵셔널 체이닝JavaScript에서 객체나 배열의 특정 속성 또는 메서드에 접근할 때, 해당 값이 `null` 또는 `undefined`인지 확인하지 않고도 안전하게 접근할 수 있도록 도와주는 문법입니다. 옵셔널 체이닝 연산자는 `?.`로 표시됩니다.쉽게 설명해 보자면, "만약 이 값이 존재하면 그 다음 속성에 접근하고, 그렇지 않으면 에러를 내지 않고 `undefined`를 반환해!“라는 역할을 합니다. 이제 Swift 옵셔널 개념 실습 코드를 간단히 올리며, 설명해 보겠습니다.일단 옵셔널은 값이 있을 수도 없을 수도 있는 타입입..

iOS 2025.04.09