전체 글 109

[PS]알고리즘 강의

세상에는 정말 똑똑하고 훌륭한 사람이 많다. 자신들이 가진 지식을 무료로 체계적으로 이렇게 뿌려주다니..^^ 감사합니다~ https://blog.encrypted.gg/922?category=773649 [실전 알고리즘] 0x01강 - 기초 코드 작성 요령 I 안녕하세요, 바킹독입니다. 이번 단원에서는 기초 코드 작성 요령을 익혀보려고 합니다. 목차를 보셨으면 알겠지만 기초 코드 작성 요령이 두 강으로 나눠져있는데 앞으로 코드를 잘 짜기 위해 blog.encrypted.gg https://bloodstrawberry.tistory.com/47 삼성 B형 링크 개념 설명 메모리 풀 Memory Pool 메모리 풀 vs malloc 속도 비교 링크드 리스트 Linked List 해시 테이블 Hash Tabl..

[PS]공부진도

문제출처 https://bloodstrawberry.tistory.com/47 map BOJ 18139 : Rush Hour Puzzle =====Unsolved===== deque BOJ 10866 : 덱 vector BOJ 1707 : 이분 그래프 => 풀긴 풀었으나 bfs 가 아닌 dfs 풀이도 공부 필요 =====Solved 06/11/22===== BOJ 1764 : 듣보잡 (+ sort) =====Solved 06/12/22===== BOJ 7785 : 회사에 있는 사람 (+ sort, 정렬 기준 변경) BOJ 7785 : 회사에 있는 사람 (+ erase) =====Solved 06/13/22===== map BOJ 18139 : Rush Hour Puzzle BOJ 7785 : 회사에 있는..

[PS]맞왜틀 시리즈6 범위

알고리즘 문제를 풀다보면 아무리 코드를 봐도 맞는데 틀린다. 우리는 그럴때 이렇게 말한다. 범위? 무슨 범위? 틀리기 쉬운 범위는 다음과 같다. 1) for, while 과 같은 반복문 횟수, 반복문 시작, 종료 위치 C/C++에서 사용하는 배열은 0부터 시작한다. 그런데 보통 알고리즘 문제에서 주어지는 번호가 1번부터 시작한다. 입력받을때는 배열의 1번부터 N번까지 입력을 받는데 반복문을 돌릴때 0번부터 N-1 까지 접근하는 경우가 많다. 아래 예시를 보자 1 2 for(int i = 0; i

[IDE]Visual Studio, 갑자기 빌드가 안됨

개발을 8년간 해보며 처음 겪어본 일이네요. 소스코드를 새로 추가하고 코드를 작성하고, 빌드하여 실행했는데 추가한 코드가 반영이 안되어있습니다. 뭘까요? 이유는 이렇습니다. cpp 소스코드 생성시 확장자를 잘못 생성한 경우 빌드가 안되도록 설정 될 수 있습니다. 저의 경우는 실수로 sourcecpp 라고 파일을 생성하고 다시 source.cpp로 변경하였습니다. 그 과정에서 파일 속성이 변경된겁니다. 그런 경우 어떻게 해결할까요? 파일 속성창에 접근하면 다음과 같은 옵션이 있습니다. 1. 빌드에서 제외 -> "아니오" 로 선택해야 빌드가 됩니다. 2. 항목 형식 -> "C/C++컴파일러" 로 선택해야 C/C++로 빌드됩니다. (나머지 옵션은 모르겠네요..^^;) 저의 경우 빌드에서 제외는 안했지만 항목형..

카테고리 없음 2022.06.01

[PS]맞왜틀 시리즈5 변수 범위

알고리즘 문제를 풀다보면 아무리 코드를 봐도 맞는데 틀린다. 우리는 그럴때 이렇게 말한다. 변수 범위가 뭐가 문제냐고? 알고리즘 문제 풀다보면 입력 값의 범위는 1≤N≤100 이다. 같은애들이 많다. 그러면 그 값을 입력받아서 저장할 변수의 범위는 어떻게 잡아야할까? 1 2 3 4 5 int visited[101]; node head[101]; //컴퓨터 최대 100대 node last[101]; cs 위 코드 처럼 최대가 100이라면 무조건 키워서 잡는다. 혹은 입력받을때 인덱스처리를 -1 해주면 되겠지만 본인이 알고리즘 초보라면 인덱스를 신경쓰기 보다는 저장공간만 키워주면 굉장히 깔끔해진다. 문제는 여기 해설은 여기 전체코드는 여기 참고로 내 코드와 해설 코드는 다르다.

[PS]맞왜틀 시리즈4 초기화

알고리즘 문제를 풀다보면 아무리 코드를 봐도 맞는데 틀린다. 우리는 그럴때 이렇게 말한다. 이번엔 초기화가 문제이다. 당신의 초기화 코드는 매번 실행할때마다 적절하게 초기화를 하고 있는지 확인하자 반복해서 수행되는 함수에서 처음 호출될때만 초기화가 제대로 되고 이후에는 제대로 안되고 있을 가능성이 있다! 예시 케이스만 돌리는 경우에 케이스 수가 적어 문제가 발생 안하기 때문에 놓칠수도 있다. 반복해서 처리하는 함수를 작성했을 경우에 제대로 초기화가 되었는지 확인이 필요하다. 내가 이번에 도전한 문제는 숫자야구게임 문제이다. 자세한 설명은 문제 링크에서 찾아보자. 참고한 풀이는 풀이 링크에서 찾아보자. 이번 문제를 풀면서 dfs와 메모리풀을 활용해 경우의 수를 만들어주는 부분이 있었는데 처음 테스트 케이스..

[PS]맞왜틀 시리즈3 정렬범위

알고리즘 문제를 풀다보면 아무리 코드를 봐도 맞는데 틀린다. 우리는 그럴때 이렇게 말한다. 우선 아래 코드를 보자 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 int main() { /* 입력 첫째 줄에 정점의 개수 N(1 ≤ N ≤ 1, 000), 간선의 개수 M(1 ≤ M ≤ 10, 000), 탐색을 시작할 정점의 번호 V가 주어진다. 다음 M개의 줄에는 간선이 연결하는 두 정점의 번호가 주어진다. 어떤 두 정점 사이에 여러 개의 간선이 있을 수 있다. 입력으로 주어지는 간선은 양방향이다. */ scanf("%d%d%d", &N, &M, &V); for (int i = 0; i

[PS]맞왜틀 시리즈2 좌표처리, 마법사 상어와 파이어볼

알고리즘 문제를 풀다보면 아무리 코드를 봐도 맞는데 틀린다. 우리는 그럴때 이렇게 말한다. 백준 20056번 마법사 상어와 파이어볼 문제를 풀며 틀렸던 내용입니다. 기본적인 문제에 대한 설명과 해설은 레퍼런스에서 참고합니다. 이 글을 쓴 이유는 좌표처리 하며 생긴 생각의 오류를 남기기 위해서입니다. 마법사 상어가 쏜 파이어볼은 주어진 좌표체계에서 상하좌우 사방대각선으로 0에서 8까지의 방향으로 아래의 그림과 같이 움직입니다. 행을 y축 열을 x축이라고 생각했을때 각 방향으로의 좌표 변화는 다음과 같이 표현할 수 있습니다. 1 2 dx = { 0, 1, 1, 1, 0, -1, -1, -1 }; dy = { 1, 1, 0, -1, -1, -1, 0, 1 }; cs 그런데 문제가 발생합니다. 디버깅을 해보니 ..

[C++]C코드에서 C++ 코드 호출하다가 참조자공부

참조자 어려웡.. C에는 없는 개념이라 더 어려워 C에서 C++ 호출하는거 찾다가 참조자도 공부했네 기억안나서 힘들땐 여기를 보자 https://ospace.tistory.com/215 C에서 C++ 호출하기 C에서 C++호출하는 괜찮은 방법을 찾아서 알려드립니다. 테스트해본 결과 VC++, GCC에서도 적용 가능합니다. 작성: http://ospace.tistory.com/,2010.11.30 (ospace114@empal.com) 파일 구성 예제 소스 파일은 3개.. ospace.tistory.com https://knowingispower.tistory.com/4 C에서 기존의 C++ 클래스의 함수를 호출해보자 이번 포스팅에서는 C 에서 C++ 클래스의 함수를 호출해보려고 한다. 기존의 Calcul..

Technology/C & C++ 2022.05.10

[Python] 리스트에 요소를 계속 추가한다면 어떻게 될까

파이썬에서 제공하는 자료형인 리스트(list)는 요소(element)를 임의로 추가/삭제하고 사용자의 편의대로 조작할 수 있는 다양한 기능을 제공합니다. 그런데 리스트에는 최대 몇개의 요소가 추가 될수 있는지 고민해본 사람이 있었습니다. 그사람의 말에 의하면 리스트 최대 요소 갯수는 9,223,372,036,854,775,807개 라고 합니다. https://bskyvision.com/1263 [python] 파이썬 리스트에 최대 몇 개의 요소가 들어갈 수 있을까? 파이썬 개발을 하다가 파이썬 리스트에 최대 몇 개의 요소(element)가 들어갈 수 있는 지를 대략적으로 알아야 하는 상황이 생겼습니다. 구글링 해보니 방법은 간단하더군요. 표준 모듈인 sys 를 활 bskyvision.com 간단한 질문을..

Technology/Python 2022.05.03