전체 글

알고리즘/백준

[백준] 4179번: 불!

🔍 문제 읽기 4179번: 불! 입력의 첫째 줄에는 공백으로 구분된 두 정수 R과 C가 주어진다. 단, 1 ≤ R, C ≤ 1000 이다. R은 미로 행의 개수, C는 열의 개수이다. 다음 입력으로 R줄동안 각각의 미로 행이 주어진다. 각각의 문자 www.acmicpc.net 입력 출력 R(행)과 C(열) R x C 미로의 정보 (#: 벽, J: 지훈, F: 불, .: 이동 가능 공간) 미로를 탈출할 수 있는 경우 ➡︎ 가장 빠른 탈출시간을 출력 미로를 탈출 할 수 없는 경우 ➡︎ IMPOSSIBLE 을 출력 4 4 #### #JF# #..# #..# 3 💡풀이 👩‍💻 사용언어 : cpp ❗️[핵심] 다차원 배열에서의 BFS (너비 우선) 👉 BFS는 너비 우선이기에 최단시간을 구할 수 있다. ❗️ 문제..

AI

[Teachable Machine] 소논문 작성 : 군중 밀집도 분류기 만들기 프로젝트

📝 서론 1학년 2학기, 아마 22년 11월 쯤? 신입생 세미나 B라는 과목에서 소논문 쓰기라는 과제가 있었다. 소논문을 작성함에 있어서 교수님께서 Teachable Machine을 활용하는 방향을 제시해 주셨다. 이때 처음으로 Python을 활용해 구글에서 Image Crawling을 하는 방법을 익혔으며, 직접 분류한 자료를 바탕으로 Teachable Machine을 학습시켜보았다. 이 글에서는 소논문을 작성한 과정에 대해 살펴보고자 한다. 우선 본론에 앞서 이 글에서 다룰 Teachable Machine과 Image Crawling에 대해 알아보자. 1️⃣ Teachable Machine이란? 구글에서 만든 웹기반의 노코드 인공지능 학습 툴이다. 사용자가 직접 데이터를 제공하여 모델을 교육하고, 그..

알고리즘/백준

[백준] 2178번: 미로 탐색

🔍 문제 읽기 2178번: 미로 탐색 첫째 줄에 두 정수 N, M(2 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 M개의 정수로 미로가 주어진다. 각각의 수들은 붙어서 입력으로 주어진다. www.acmicpc.net 입력 출력 N과 M N x M 미로의 정보 (입력이 붙어서 들어온다!) (1, 1) ~ (N, M)까지 이동할 때, 지나야하는 최소의 칸 수 4 6 101111 101010 101011 111011 15 출발점과 도착점은 지정된다. 단순히 출발점에서 도착점까지의 최단거리를 찾는 문제다. 항상 도착위치로 이동할 수 있는 경우만 입력된다. 💡풀이 👩‍💻 사용언어 : cpp 아래 두 가지가 문제 풀이에서 핵심이 된다. ❗️[핵심] 다차원 배열에서의 BFS (너비 우선) 👉 BFS는 너..

알고리즘/백준

[백준] 1926번: 그림

🔍 문제 읽기 1926번: 그림 어떤 큰 도화지에 그림이 그려져 있을 때, 그 그림의 개수와, 그 그림 중 넓이가 가장 넓은 것의 넓이를 출력하여라. 단, 그림이라는 것은 1로 연결된 것을 한 그림이라고 정의하자. 가로나 세로 www.acmicpc.net 난이도 : 실버 1 입력 출력 세로 크기 n, 가로 크기 m n*m 크기의 그림 정보 1. 그림의 개수 2. 가장 넓은 그림의 크기 (단, 그림이 0개인 경우 가장 넓은 그림의 크기는 0) 💡풀이 👩‍💻 사용언어 : cpp ❗️[핵심] 다차원 배열에서의 BFS (너비 우선) 1️⃣시작하는 칸을 큐에 넣고 방문 표시 2️⃣큐에서 원소를 꺼내 상하좌우의 인접한 칸에 대해 방문 여부 확인 👉처음 방문한다면 해당 칸을 큐에 넣고 방문 표시 👉방문한 적 있다면 ..

iOS/SwiftUI

[Day 9] 클로저(Closure), passing functions into functions

1️⃣ 클로저 이름 없이 일시적으로 사용할 수 있는 함수 별도의 함수 생성을 건너뛰고 상수나 변수에 직접 기능을 할당할 수 있다. 함수나 매서드의 매개변수로 전달하거나 변수에 저장할 수 있다. 클로저 문법의 기본구조 { (매개변수: 매개변수타입) -> 반환타입 in // 클로저의 실행 코드 } in : 매개변수와 반환타입 선언을 클로저 실행코드와 구분하기 위한 키워드 중괄호 안에 매개변수를 넣는다. 앞에 let 또는 var을 필요로한다.

iOS/SwiftUI

[Day 8] 함수의 매개변수에 기본값 제공, throwing functions

1️⃣ 함수의 매개변수에 기본값 주기 func printTimesTables(for number: Int, end: Int = 12) { for i in 1...end { print("\(i) x \(number) is \(i * number)") } } printTimesTables(for: 5, end: 20) printTimesTables(for: 8) 함수에서 매개변수 end의 기본값을 설정했기 때문에 printTimesTables를 사용할 때 end에 대한 값을 주지 않아도 된다. 2️⃣ 함수의 오류를 핸들링하는 방법 이해가 어려우니 예시와 함께 알아보자. [예시] 비밀번호를 설정하는데, 설정할 비밀번호의 안전성을 확인하는 함수를 작성하고자 한다. ①5자 미만의 너무 짧은 비밀번호와 ②12345..

iOS/SwiftUI

[Day 7] 함수, 매개변수, 반환값

1️⃣ 반환값이 없는 경우 func 함수이름(매개변수) { 실행할 코드 } //예시 1 func printWelcome() { print("Hi there!") } printWelcome() //예시 2 : Accepting parameters func count(to: Int) { for i in 1...to { print("I'm counting: \(i)") } } count(to: 3) 2️⃣ 반환값이 있는 경우 func rollDice() -> Int { return Int.random(in: 1...6) } let result = rollDice() print(result) 💡 반환값이 있는 경우에서 return 을 생략할 수 있다! (Swift 5.1부터 가능해진 기능) func greet(..

iOS/SwiftUI

[SwiftUI] Setting App Icon

SwiftUI와 UIKit을 함께 사용하여 앱 아이콘 변경 기능을 구현할 수 있다. Solution 1. UIApplication.shared: 현재 앱의 UIApplication 인스턴스에 접근한다. UIApplication은 iOS 앱의 중심에 위치한 클래스로, 앱의 라이프사이클과 다양한 앱 레벨의 동작을 관리한다. setAlternateIconName: 이 메서드는 앱 아이콘을 변경하는 역할을 한다. 메서드에는 변경할 아이콘 이름이 전달돼야 한다. error가 nil이 아닌 경우(앱 아이콘 변경 실패)는 에러 메시지를 출력, 앱 아이콘 변경 성공시 성공 메시지 출력. UIApplication 이란? 더보기 iOS 앱의 중앙 관리 객체로, 앱의 라이프사이클과 앱 레벨 동작을 관리하는 클래스 UIApp..

iOS/SwiftUI

[Day 6] 반복문 : Loop (for, while), break & continue

1️⃣ For Loop let platforms = ["iOS", "macOS", "tvOS", "watchOS"] for os in platforms { print("Swift works great on \(os).") } 중괄호 안의 코드를 loop body라 한다. 루프는 반복문 내부에서만 존재한다. array, dictionary, or set 에서 이와 같은 반복문을 사용한다. for i in 1...5 { print("Counting from 1 through 5: \(i)") } for i in 1..

iOS/SwiftUI

[Day 5] 조건문 : if, switch, and the ternary operator

1️⃣ if if someCondition { print("Do something") } else if someCondition { print("Do something") } else { print("Do something") } 2️⃣ switch enum Weather { case sun, rain, wind, snow, unknown } let forecast = Weather.sun switch forecast { case .sun: print("It should be a nice day.") case .rain: print("Pack an umbrella.") case .wind: print("Wear something warm") case .snow: print("School is cancel..

쨈미니
서우의 성장일기