
다익스트라(Dijkstra) 다익스트라 알고리즘은 대표적인 최단 경로 탐색 알고리즘! 다익스트라 알고리즘을 사용하면 한 정점에서 다른 모든 정점으로 가는 최단 경로를 알 수 있습니다. 이때 모든 간선의 가중치는 음수이면 안됩니다 (간선의 가중치에 음수가 포함되어 있으면 벨만-포드 알고리즘을 사용할 수 있습니다) 다익스트라를 구현하는데는 최단 거리를 저장할 배열과 우선순위 큐 두개가 필수적입니다. 예시와 함께 볼게요 A B C D E F 0 inf inf inf inf inf 최단 거리 배열을 만들고 우선 시작점은 0 나머지는 inf(무한대)로 초기화해줍니다. 그리고 순위 큐에 시작점을 넣어줍니다 A 0 우선 순위 큐에서 맨 앞에 있는 노드를 추출하고 해당 노드에서 갈 수 있는 노드들을 우선 순위 큐에 넣..
https://school.programmers.co.kr/learn/courses/30/lessons/43164 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DFS문제였습니다. 제 풀이 방식은 1. tickets를 돌면서 Dictionary를 만들고 ICN부터 dfs를 돌아줍니다 2. dfs는 파라미터로 remainTickets: 남아있는 티켓, course: 지금까지의 경로, cur: 현재 있는 나라 이 세가지를 파라미터로 받습니다 3. 남아있는 티켓의 개수가 0이면 course를 result에 넣어주고 아니라면 현재 나라에서 다른 나라로 갈 수 있..

목이 아파서 노트북 거치대를 샀더니 이번엔 손목이 조금 불편한 현상이.. 그래서 키보드를 구입했습니다! 셋팅하기위해 다른 분들이 설명해놓은 글들을 보니 환경설정 -> 키보드 -> 키보드 단축키 -> 보조키 들어가서 이렇게 셋팅하고 karabiner도 right command-> f18 바꾸고 이렇게 입력 소스도 세팅했지만 계속 뭐 떄문인지 안됐었습니다 보니까 karabiner에서 키보드의 right command를 F18로 변환해주지 못하는건지 아니면 키보드의 한/영키가 right command로 지정이 안된건지 한/영 키를 눌러도 F18으로 안눌리더라구요 그래서 다시 보조키 요렇게 되돌려주고 karabiner를 이렇게 세팅해서 해결했답니다
https://school.programmers.co.kr/learn/courses/30/lessons/42627# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제를 보자마자 OS를 공부할때 봤던 스케줄링 알고리즘들이 딱 떠오르더라구요 FIFO, RR, SJF 등등,, 이중에 Shortest Job First(SJF)를 사용했을때 average wating time을 가진다는 사실을 알기에 SJF로 구현했습니다 문제에서 하드디스크가 작업을 수행하고 있지 않을 때에는 먼저 요청이 들어온 작업부터 처리합니다. 이런 조건이 있어서 현재 시간(now)에 수행..
https://school.programmers.co.kr/learn/courses/30/lessons/42861# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 적은 비용으로 모든 노드 연결? -> 최소 비용 신장 트리! (MST) MST에 사용할 수 있는 알고리즘에는 프림, 크루스칼 알고리즘 두개가 떠올랐는데요 더 간단한 크루스칼 알고리즘으로 풀어봤습니다 우선 costs를 오름차순으로 정렬해줍니다 (가중치가 적은 것부터) 그리고 for문을 진행하면서 같은 집합으로 만들어주는데요 중요한건 사이클이 생기면 안됩니다. 그렇기 때문에 parent를 사용..

tableView를 쓸 때 duequeueResuableCell을 보신 적이 있을겁니다 요런데서요 이 dequeueReusableCell이 무엇인지 알아봅시다! dequeueReusableCell 뭐하는 친구인가? 지정한 재사용 식별자에 대한 재사용 가능한 테이블 뷰 셀 객체를 반환하고 이를 테이블에 추가한다. 음..! 선언을 보면 identifier와 index를 받아 UITableViewCell을 반환한다네요 identifier A string identifying the cell object to be reused. This parameter must not be nil. 재사용할 셀 객체를 식별하는 문자열인데 nil이서는 안된다! 이친구는 재사용할 셀 객체를 식별하는 문자열이래요 indexPath..
https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 가장 먼 노드 -> Bfs! 첫번째 노드로부터 거리를 저장하는 rank 배열을 만들고 이를 이용해 가장 먼 노드들의 수를 구할 수 있었습니다 import Foundation func solution(_ n:Int, _ edge:[[Int]]) -> Int { var graph = [[Int]](repeating: [Int](), count: n+1) var visited = [Bool](repea..
https://school.programmers.co.kr/learn/courses/30/lessons/12971 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr circular 형태여서 약간 더 생각해야하는 dp문제였습니다 dp 배열을 두개 만들었습니다. dp1: 첫 스티커를 뜯은 dp dp2: 두번째 스티커를 뜯은 dp dp1은 첫번째 스티커를 뜯었으므로 마지막 스티커를 사용하지 못합니다 그래서 for문을 sticker.count-2까지 돌게했구요 dp2는 두번째 스티커를 뜯었으므로 마지막 스티커를 사용할 수 있습니다 그래서 for문을 sticker.c..
- Total
- Today
- Yesterday
- 도둑질
- 마법사 상어와 파이어스톰
- UIKit
- 코딩테스트
- ios
- 8898
- 단속카메라
- Xcode
- programmres
- 3차원 농부
- C++
- 알고리즘
- 문자열 교집합
- Algorithm
- 코테
- 3000
- swift
- 백준 20058
- programmers
- swea
- 입국심사
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |