2022/05 6

[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