일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 | 29 |
30 | 31 |
- c언어
- pwnable.kr
- 정렬 알고리즘
- level13
- OSI
- 자료구조
- 큐
- 파이썬
- LoB
- 시간복잡도
- windosws wbcs
- C
- War Game
- 암호수학
- windosw 문자열
- ftz
- 미로 탐색 알고리즘
- PHP
- Stack
- SWiFT
- 백준
- 파일 시스템
- 재귀
- web
- 두근두근 자료구조
- Java
- ftz level13
- 스택
- HTML
- System
- Today
- Total
목록2025/03 (10)
나의 기록, 현진록
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해- 1번 노드에서 가장 멀리 떨어져 있는(최대 dept)의 노드 개수 구하기 2. 접근 방법bfs 알고리즘 사용하여 dept마다 이동 가능한 노드 갯수 업데이트bfs 알고리즘 수행 후 업데이트 된 노드 갯수를 출력 3. 코드import Foundationfunc solution(_ n:Int, _ edge:[[Int]]) -> Int { var map = Array(repeating: [Int](), count: n) ..
https://www.acmicpc.net/problem/15686 1. 문제이해최대 M개의 치킨집만 도시에 존재해야 한다고 했을 때, 도시의 치킨 거리(모든 집의 치킨 거리의 합)의 최소 값을 구하기2. 접근방법집 좌표, 치킨집 좌표 조합 만들기치킨 집 좌표를 백트래킹으로 완전 탐색가장 가까운 치킨집 찾기도시의 치킨거리 최솟값 구하기3. 코드import Foundationfunc solution(){ let input = readLine()!.split(separator: " ").map{Int(String($0))!} let N = input[0] let M = input[1] var map = [[Int]]() for _ in 0.. Int{ var sum =..
https://school.programmers.co.kr/learn/courses/30/lessons/42628 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해일반적인 우선순위큐는 한 쪽 방향으로 Input, 다른 한 쪽 방향으로 Output이 이루어진다고 한다면, 문제에서 요구하는 이중우선순위큐는 Output이 양쪽 방향으로 이루어지는 형태이다. 큐에 데이터를 push하고 최댓값이나 최솟값을 pop할 수 있는 구조를 만들어야 한다. 2. 접근 방법[정렬]Output을 최솟값과 최댓값을 pop할 수 있는 형태로 큐를 만들어야 한다. 한 쪽은 최솟값만 다른 한 쪽은 최댓값만 pop할 수..
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 배열에 있는 숫자들로 더하거나 빼서 targetNumber를 만들기 - 주어진 배열에 있는 숫자들을 더하거나 뺀 값으로 재귀호출을 반복(DFS) - 재귀호출이 끝났을 경우 targetNumber와 같을 경우 count + 1- 모든 DFS 종료 시 count 출력 import Foundationfunc solution(_ numbers:[Int], _ target:Int) -> Int { func dfs(dept: Int, resu..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제 이해"ICN" 공항에서 출발한다.주어진 항공권은 모두 사용해야 한다.가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 선택해야 한다.모든 도시를 방문할 수 없는 경우는 주어지지 않는다. 위 조건을 고려하여 방문하는 공항 경로를 출력하자 2. 접근 방법"가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 선택해야 한다." -> [a, b]에서 b를 기준으로 오름차순 정렬visited와 백트래킹을 사용한 dfs ..

Objective반복된 동작을 위해 주로 for in 또는 forEach를 주로 사용해 왔다.가끔 알고리즘 문제를 풀곤 할 때 forEach 문을 사용했을 때 시간 초과가 발생했던 적이 있어서 둘 중 for in이 더 빠르다고 느껴왔다.경험으로 인해 그렇다고 느껴왔던 것이지 의문만 가지고 실제 두 차이를 알아보려고 시도하진 않았던 것 같다. for-in과 forEach 중 어떤 것이 속도와 메모리 측면에서 성능 분석 후 어떠한 상황에서 사용하는 게 적합한지 알아보자 Key ResultKR1 - 어느 것이 속도가 더 빠른지 비교한다.KR2 - 어느 것이 메모리 사용량이 적은지 비교한다.KR3 - 각각 어떠한 상황에서 사용하는 것이 적합한지 분석한다. KR1 - 속도 비교import Foundation..

Main Event Loop메인 스레드의 Run Loop이다. Main Run Loop로 불리기도 한다.앱이 시작될 때 생성된 UIApplication에 의해 자동으로 생성되고 실행된다. run() 메소드 동작 과정 중에 main loop를 실행한다.Input Source와 Timer Soruce 두 종류의 이벤트를 처리한다.Input Sorce를 통해 사용자의 저수준 이벤트를 수신 받는다. Main Event Loop의 동작 과정 1. Input Source로부터 입력 받은 저수준의 이벤트를 도착한 순서대로(FIFO) 이벤트 큐(Event Queue)에 넣는다. 2. Application object는 이벤트 큐에 있는 최상위 이벤트 객체를 가져와 해석하고 그에 상응되는 UIEvent(iOS)로 변..
WKWebView앱과 상호 작용이 가능한 웹 컨텐츠를 보여줄 수 있도록하는 객체HTML, CSS, JavaScript와 같은 컨텐츠를 앱의 네이티브 뷰와 함께 보여줄 수 있도록 제공한다.웹 기술이 네이티브 뷰보다 앱의 레이아웃 및 스타일 요구사항을 더 쉽게 충족할 수 있을 때 사용한다.앱의 콘텐츠가 자주 바뀔 때 사용할 수 있다.단순 일회성 또는 주기적으로 바뀌는 뷰, 이벤트 팝업 등이 예시가 될 수 있을 것 같다.URL을 정적으로 작성 되어 있는 것이 아닌 API 호출로 URL을 입력할 수 있다면 웹 뷰가 변경 될 때마다 앱을 배포하지 않아도 될 것 같다. (웹뷰 안 써봐서 모름...) WKWebView 이전에는 iOS 2.0부터 사용 가능한 UIWebView를 사용하였지만 iOS 8.0부터는 WKWe..
https://www.acmicpc.net/problem/1022 1. 문제이해0행 0열 반시계 방향 순서로 숫자가 작성된 표를 입력 받은 크기 만큼 출력하기출력할 때 가장 큰 숫자의 자릿수 만큼 채워야 함(자릿수가 부족할 때 공백으로 채우기)2. 접근방법테이블 채우기제한 사항 때문에 입력 받은 네 점의 크기 만큼만 2차원 배열을 만들어야 함메모리는 제한되었지만 시간에 대해서는 5000*5000으로 여유수를 순서대로 증가시키고 표의 크기 내부인 경우에만 표에 접근하여 저장하면 됨반시계 방향 소용돌이에 맞게 인덱스를 수정하기출력최대 값의 길이만큼 자릿수 채우기3. 코드 func solution(){ let input = readLine()!.split(separator: " ").map{Int(St..
https://school.programmers.co.kr/learn/courses/30/lessons/214288?language=swift 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 1. 문제이해n명의 상담사, k개의 상담 유형으로 이루어진 채용 설명회각 멘토는 한 개의 상담 유형만 담당 가능, 같은 시간에 한 명의 참가자와 상담 가능각 유형 별로 최소 1명의 멘토가 배치모든 참가자의 대기 시간이 최소가 되도록 상담 유형별로 멘토를 정해야 함모든 참가자 대기 시간 총합을 구하라선입 선출 구조로 상담이 이루어진다. 2. 접근방법[참가자가 상담하는 순서, 그리디]상담을 요청한 시각에 즉시 상담이 가..