일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- MemoryBarrier
- JavaScript
- BFS
- Server
- 구조체
- 서버
- 자바스크립트
- leetcode
- 백준
- 제로베이스 프론트엔드 스쿨
- dfs
- 프론트엔드 스쿨
- 멀티스레드
- 완전탐색
- map
- C++
- 프로그래머스
- 코딩테스트 스터디
- React
- Algorithm
- c#
- 알고리즘
- 제로베이스
- 백트래킹
- 구현
- 문자열&연산자
- socket
- N과 M(2)
- 메모리 배리어
- Today
- Total
목록C++ & C# (5)
Written
차이점을 확실하게 알아두고자 잘 정리된 내용을 가져와봤습니다. 공통점은 결국 함수를 참조하여 사용하려고 하는 것이다 정도겠네요. delegate, action, func은 대리자라고 부르는 것으로 메소드에 대한 참조 변수를 만들기 위해 존재합니다. 이중 delegate가 가장 기본적인 형태입니다. action과 func은 C# 버전이 올라가면서 편의성을 위해 프로그래머가 일일이 delegate를 정의하지 않아도되게 C# 내부적으로 정의하고 있는 대리자로 action은 인자만 존재하는 delegate, func은 인자와 결과 값이 모두 존재하는 delegate입니다. 저는 delegate를 직접 정의하여 delegate가 어떤 목적으로 존재하는지 명시하는 것을 선호할뿐 action이나 func을 사용해도 ..
cin과 cout은 C++에서 입력과 출력을 위해 사용하고 , printf와 scanf는 C에서 입력과 출력을 위해 사용합니다. 결론부터 말씀드리자면 printf와 scanf가 cin과 cout보다 두배 이상 빠르다고 합니다. 그래서 백준사이트에서 알고리즘 문제를 풀다가 보면 cin cout을 사용할 때는 시간 초과가 나지만, printf와 scanf로 변경하고나서 시간초과가 나지않고 정답으로 채점되는 경우가 종종 있었습니다. printf와 scanf가 더 빠른이유 그러면 일단 printf와 scanf가 더 빠르다는 것은 알았고, 시간제한이 중요한 문제에서는 printf와 scanf의 사용을 적극 고려해봐야 한다는 것 또한 알았습니다. 그렇다면 가장 중요한 printf와 scanf가 더 빠른이유에 대해서..
구현 할때마다 헷갈리는 우선순위 큐를 사용할 때 , 자료형이 구조체인 경우 정렬을 위한 연산자 오버로딩을 정리해보려고합니다. 우선순위 큐 안에 기본적인 int 형 자료형이 들어가면 내림차순으로 정렬되어 들어갑니다. (내부적으로 heap(디폴트로 Max_heap)으로 구현되어있기때문입니다.) 이런 간단한 구조에서는 쉽지만, 만약 여러 값들을 갖는 구조체가 자료형으로 우선순위 큐 안에 들어가게되면 어떤 값을 기준으로 정렬을 해야 할 지 모르기때문에, 그 기준을 정해주어야 합니다. 그 기준을 정하는 방법은 구조체 내부에서 < 연산자 오버로딩을 통해 가능합니다. Pos라는 구조체 내부에서 연산자 오버로딩을 해주면 , PQ에 push를 할 때 연산자 오버로딩의 정의에 맞추어 정렬하게 됩니다. 저 부등호 방향때문에..
if-else가 아닌 switch를 사용하는 조건문 if-else에 비해 사용할 수 있는 경우가 조금 한정적이긴 하지만 , 필요할 때가 있음. int choice; switch (choice) { case 0: // choice의 값이 case 옆의 숫자에 대응됨. Console.WriteLine("가위 입니다."); break; case 1: Console.WriteLine("바위 입니다."); break; case 3: Console.WriteLine("보 입니다."); break; default: Console.WriteLine("전부 아닙니다."); break ; } 삼항연산자 ( 조건 ? 맞았을때 : 틀렸을때 ) 예시 int number = 25; bool isPair = ((number % 2..
알고리즘 문제를 풀다보면 자주 헷갈리는 부분이 있어 정리해봅니다. 입력으로 문자열을 받을때 string배열에 받을때와 char배열에 받을때 저장되는 방식이 다릅니다. 다시 생각해보면 char는 말그래도 하나의 문자 (Ex. 'a')를 뜻하기 때문에 어떻게 보면 당연한 부분이지만 자주 헷갈렸었는데 , 이번에 이렇게 정리를 함으로써 앞으로는 안 헷갈릴 수 있을것 같습니다. 1) string s1[50]; cin >> s1[0] // 반드시 인덱스 번호를 지정해서 받아야합니다. 그냥 cin >> s1으로 받으려하면 오류발생. // 이렇게 받으면 띄어쓰기 전 까지의 입력 내용을 s1에 저장합니다. // 콘솔에 my name is 를 입력하면 my만 s1[0]에 저장됩니다. 2) char a1[50]; cin >..