분류 전체보기 (400) 썸네일형 리스트형 99클럽 코테 스터디 3일차 TIL: 최단 경로 문제https://www.acmicpc.net/problem/2660풀이이 문제도 보자마자 BFS를 떠올렸다.일단 간선의 비용이 1이라는 점에서 최단거리를 구할 수 있기 때문이다.어제 풀었던 문제와 거의 유사한 문제여서 빠르게 풀 수 있었다.회원의 수가 50명 즉 N이 50으로 아주 작았다.또한 플로이드-워셜로도 풀 수 있을 것이라고 생각했는데,오늘은 약속도 있고 요즘에 작곡 레슨을 받아.. 시간이 없어서 일단 BFS로 풀고 내일 다시 플로이드-워셜로 풀어봐야겠다.이 문제는 진짜 빨리 풀었고 (5분?) 한 방에 풀이했다.BFS가 젤 자신있어서 그런 것 같다.. 다른 알고리즘에도 자신감이 생기게 열심히 해봐야지..소스코드후기BFS를 조금 응용하면 쉽게 풀 수 있는 문제였다. [BOJ] 백준 28279 덱 2 (Swift) 문제https://www.acmicpc.net/problem/28279 풀이덱 자료구조는 이전에 포스팅 해두었다.구현해놓은 덱 자료구조를 가지고, 풀면 되는 문제..소스코드후기덱 자료구조만 구현한다면 쉽게 풀 수 있는 문제덱 구현하는게 쫌 귀찮고 까다롭다.. [BOJ] 백준 1389 케빈 베이컨의 6단계 법칙 (Swift) 문제https://www.acmicpc.net/problem/1389풀이이 문제를 처음 봤을 때, 간선의 비용이 동일하다는 점. 최단 경로를 구해야 한다는 점에서 BFS 알고리즘을 떠올렸다.BFS의 시간복잡도가 어떻게 될까도 생각해봤다.$O(V + E)$ 라는 점, 최악의 경우 $O(100 + 5000)$ 이 될 것이라고 생각했다.또한 모든 친구($N$)에 대해 검사를 해봐야 하므로, $O(V * (V + E))$ 이지 않을까..?$100 \times 5100$라면 충분히 통과할 것이라고 생각했다.처음엔 다음과 같이 생각했다.1번노드에서 각 노드로 도달하는 depth를 전부 구해 더해줘야겠다라고 생각했다.즉, 1번 -> 2번으로 가능 최소비용 + 1번 -> 3번으로 가능 최소비용.. 이렇게 전부 구해야지.. 99클럽 코테 스터디 2일차 TIL: 최단 경로 문제풀이이 문제를 처음 봤을 때, 간선의 비용이 동일하다는 점. 최단 경로를 구해야 한다는 점에서 BFS 알고리즘을 떠올렸다.BFS의 시간복잡도가 어떻게 될까도 생각해봤다.$O(V + E)$ 라는 점, 최악의 경우 $O(100 + 5000)$ 이 될 것이라고 생각했다.또한 모든 친구($N$)에 대해 검사를 해봐야 하므로, $O(V * (V + E))$ 이지 않을까..?$100 \times 5100$라면 충분히 통과할 것이라고 생각했다.처음엔 다음과 같이 생각했다.1번노드에서 각 노드로 도달하는 depth를 전부 구해 더해줘야겠다라고 생각했다.즉, 1번 -> 2번으로 가능 최소비용 + 1번 -> 3번으로 가능 최소비용.. 이렇게 전부 구해야지 하고 생각하면서bfs를 1번에서 특정 노드 까지의 비용을 모두 .. 99클럽 코테 스터디 1일차 TIL: 플로이드-워셜 오랜만에 우연히 백준을 들어갔는데 향해99 광고를 보고 스터디 참여 신청을 했다.취업을 한 뒤 코테 공부를 거의 하지 않아서 기억이 가물가물..코테 공부하는게 재밌었기도 하고, 공부해야지 해야지.. 하는데 맨날 하지 않아서 스터디라도 해보면 어떨까 생각이 들었다.대학교 친구 단톡방에 공유해서 한명의 친구와 같이 참여하고 있다.언어랑 난이도도 선택할 수 있었는데, 나는 Swift/챌린저로 선택을 했다.챌린저 문제는 다음과 같았다.문제https://www.acmicpc.net/problem/11403 풀이기존에 풀어봤던 문제였다.문제 딱 보자마자 느낀점은 그래프 문제라는 것. 그 이후 모든 경로를 구해야한다는 점에서 플로이드-워셜 알고리즘을 떠올렸다.플로이드-워셜 알고리즘에 대한 이해만 있다면 쉽게 풀 수 .. [BOJ] 백준 2745 진법 변환 (Swift) 문제https://www.acmicpc.net/problem/2745풀이사실 이 문제는 아주 간단하게 풀 수 있는 문제이다.Int 자료형에 다음과 같은 이니셜라이저가 존재한다.이거 하나면 바로 풀 수 있는 문제하지만 이 문제에서는 위와 같이 푸는것으로 의도하고 있지는 않은 것 같다.다른 방법으로 풀이하자면, 먼저 진법에 대한 이해가 필요한 것 같다.음.. 언제 배웠는지 기억은 잘 안나는데, 2진수를 10진수로 변환하는 과정에 대해서는 대부분 알 것이라고 생각한다.2진수 "110"을 10진수로 변환한다면, 2의 2제곱 * 1 (4) + 2의 1제곱 * 1 (2) + 2의 0제곱 * 0 (0) = 6 과 같이 변환할 수 있다.예제에 나온 "ZZZZZ" 를 36진수로 변환한다면..?"ZZZZZ"는 너무 기니깐.. [BOJ] 백준 18110 solved.ac (Swift) 문제 https://www.acmicpc.net/problem/18110 18110번: solved.ac 5명의 15%는 0.75명으로, 이를 반올림하면 1명이다. 따라서 solved.ac는 가장 높은 난이도 의견과 가장 낮은 난이도 의견을 하나씩 제외하고, {5, 5, 7}에 대한 평균으로 문제 난이도를 결정한다. www.acmicpc.net 풀이 문제만 잘 따라가면 쉽게 풀 수 있는 문제 먼저 제외할 상위 15%, 하위 15%의 명 수를 구해주어야 한다. Swift는 자료형이 까다로운 언어이므로 15%를 구하고 반올림을 하기위해서 형변환이 필요했다. 15%가 몇명인지 구한 후, removeFisrt(_ k:), removeLast(_ k:) 메서드를 사용하여 삭제시켜주었다. 그 이후, 평균을 구해주어.. [BOJ] 백준 10845 큐 (Swift) 문제 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 풀이 큐를 구현하는 문제 Swift에서는 Queue를 지원하지 않으므로 직접 구현해야 한다. 큐 자료구조에 대해 모른다면 다음 포스팅을 확인하고 와도 좋을 것 같습니다. https://dev-mandos.tistory.com/190 [자료구조] Queue에 대해 알아보고 구현해보기 (Swift) Queue란? Queue 자료구조는 선입선출(First In First Out)F.. 이전 1 ··· 4 5 6 7 8 9 10 ··· 50 다음