일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 제로베이스
- leetcode
- MemoryBarrier
- 프로그래머스
- 자바스크립트
- 백트래킹
- React
- 메모리 배리어
- C++
- 구현
- 코딩테스트
- Server
- c#
- JavaScript
- 알고리즘
- N과 M(2)
- 완전탐색
- socket
- 백준
- BFS
- 구조체
- 문자열&연산자
- Algorithm
- 제로베이스 프론트엔드 스쿨
- 코딩테스트 스터디
- 프론트엔드 스쿨
- 멀티스레드
- dfs
- map
- 서버
- Today
- Total
목록전체 글 (72)
Written
그래프 탐색 문제에서 보통 BFS를 많이 사용했었기 때문에 DFS로 풀어봤습니다. DFS에 지금까지의 날짜를 누적해가면서 넘기는 경우에는, 지도 형태에 따라 끊기는 경우가 있기 때문에, 이 부분은 조심해야 합니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 #include #include #include #include using namespace std; //d를 가지고 다니면 끊겼을때 제대로 더해지지 않으니 조심! int dx[4] = ..
처음 문제를 보고 그리디일 것 같은데, 완전탐색이 속이 시원할거 같아서 완전탐색으로 풀어보았습니다. 로직에 틀린 부분이 없는거같은데, 100점이 나오시지 않는 분들은 아래의 반례로 테스트케이스 사용해 보시면 좋을것 같습니다. ["stone", "stone", "iron", "stone", "diamond", "diamond", "diamond", "diamond", "diamond", "diamond"] [1, 1, 0] 14 저도 처음에 100점이 안나와서 이 반례가 큰 도움이 되었습니다. 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 32 33 34 35 36 37 38 39 40 41 42 43 ..
백준과 프로그래머스 알고리즘 문제를 풀면 Github 레포지토리에 자동으로 저장되는 기능이 있습니다. 저도 현재 사용중입니다. 모든 문제를 블로그에 올리고있지는 않아서, 혹시 풀이를 보시려면 https://github.com/steeringhead steeringhead - Overview 화이팅. steeringhead has 4 repositories available. Follow their code on GitHub. github.com 레포지토리에 있는 Baekjoon-PS에서 보실 수 있습니다. 최근에도 매일 꾸준히 풀고 있으니 혹시 제 풀이를 보고 궁금한게 있으시면 쪽지 주시면 알려드리겠습니다!
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; namespace client { //SpinLock class ..
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using System.Threading.Tasks; namespace client { //Dea..
싱글 스레드, 멀티 스레드 코드 흐름의 차이 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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 using System; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading.Tasks; namespace client { // 메모리 배리어 // 1) 코드 재배치 억제 // 2) 가시성 class Program { static int x = 0; static i..

캐시 => CPU와 가까운 메모리 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 static void Main(string[] args) { //캐시 철학 //Temporal Locality -> 최근에 변한 녀석이 다시 변할 확률이 높다. //Spacial Locality -> 변화가 발생한 녀석의 근처의 친구들(인접 )이 변화가 발생할 확률이 높다. int[,] arr = new int[10000, 10000]; { long now = DateTime.Now.Ticks; for (int y=0; y
차이점을 확실하게 알아두고자 잘 정리된 내용을 가져와봤습니다. 공통점은 결국 함수를 참조하여 사용하려고 하는 것이다 정도겠네요. delegate, action, func은 대리자라고 부르는 것으로 메소드에 대한 참조 변수를 만들기 위해 존재합니다. 이중 delegate가 가장 기본적인 형태입니다. action과 func은 C# 버전이 올라가면서 편의성을 위해 프로그래머가 일일이 delegate를 정의하지 않아도되게 C# 내부적으로 정의하고 있는 대리자로 action은 인자만 존재하는 delegate, func은 인자와 결과 값이 모두 존재하는 delegate입니다. 저는 delegate를 직접 정의하여 delegate가 어떤 목적으로 존재하는지 명시하는 것을 선호할뿐 action이나 func을 사용해도 ..