목록분류 전체보기 (427)
안 쓰던 블로그
보통 rand()함수의 범위를 지정할 때 rand() % n : 0~n-1사이의 수 rand() % n + 1 : 1~n사이의 수 라고 많이 배우는데 정확히는 rand() % n + a 는 0+a ~ n-1+a 범위를 갖는다 10~20까지의 난수를 생성하겠다고 rand()%21+10을 하면 실제로는 10~30 범위를 갖는다는 의미
트리 개념, 이진 트리, C로 트리 구현: https://foxtrotin.tistory.com/184 이진 트리 순회 모든 원소를 빠뜨리거나 중복하지 않고 처리하는 연산 이진 트리의 순회를 위한 세부 작업 1. 현재 노드를 방문하여 처리 2. 현재 노드의 왼쪽 서브 트리로 이동 3. 현재 노드의 오른쪽 서브 트리로 이동 순회 종류 1. 전위 순회 2. 중위 순회 3. 후위 순회 1. 전위 순회 작업 순서: 현재 노드->왼쪽->오른쪽 이런 트리가 있다면 순회 경로는 A-B-D-H-E-I-J-C-F-G-K 수식에 대한 전위 순회 A*B-C/D 라는 수식을 전위 순회로 트리를 만들면 위와 같다 순회 경로: -*AB/CD -를 킵해두고 A*B 계산, C/D 계산. 두 값으로 -계산 2. 중위 순회 작업 순서:..
리치 마작 쌩뉴비 시점 설명 복잡한 내용은 다 빼고 진짜 기본만 마작의 목표 14개 패로 특정 형태를 먼저 만드는 사람이 이김 약간 루미큐브 비슷함 패 읽는 법 1~9 만수패 (1만, 2만 3만..) 나마즈오 1~9 통수패 (1통, 2통, 3통..) 사보텐더 1~9 삭수패 (1삭, 2삭, 3삭..) 만수패+통수패+삭수패=숫자패 동남서북-바람패 (마작에서는 동서남북x 동남서북) 백발중-삼원패 바람패+삼원패=글자패 짝 맞추는 법1 기본 구조: 몸통4+머리1 몸통4머리1 중에 '역'이라는 게 포함되어야 함 몸통 1. 연속하는 3개 숫자 123, 234 같은 조합 섞는 거 안 됨, 891이나 912처럼 순환 안 됨 2. 똑같은 패 3개 숫자패 글자패 다 됨 백백백도 가능 머리 똑같은 패 2개 조합 맞춘 완성 형..
트리 원소들 간에 1:n 관계를 가지는 비선형 자료구조 원소들 간에 계층 관계를 가지는 계층형 자료구조 상위 원소에서 하위 원소로 내려가면서 확장되는 트리 모양 구조 노드: 트리의 원소 -트리 A의 노드: A,B,C,D,E,F,G,H,I,J,K,L 루트 노드: 트리의 시작 노드, 레벨0 -트리 A의 루트 노드: A 간선: 노드를 연결하는 선, 부모-자식 노드 연결 형제 노드: 같은 부모 노드의 자식 노드들 -B,C,D는 형제 노드 조상 노드: 간선을 따라 루트 노드까지 경로에 있는 모든 노드들 -K의 조상 노드: F, B, A 서브 트리: 부모 노드와 연결된 간선을 끊었을 때 생성되는 트리 -각 노드는 자식 노드의 개수 만큼 서브 트리를 가짐 -D를 부모로 가지는 H,I,J는 D라는 서브 트리 자손 노드..
https://www.acmicpc.net/problem/1699 어떤 수 n을 제곱수들의 합으로 표현할 때에 그 항의 최소개수를 구하는 문제 처음 접근 방식 1. 무식하게 접근 n=11이라고 했을 때 for문 하나를 돌면서 n보다 작으면서 가장 큰 제곱수 k를 찾는다 3^2=9니까 k=3 while문을 n>0이고 k!=0일 때까지 돌면서 n에서 k^2을 뺄 수 있을 때까지 뺀다 뺄 수 없다면 k--로 넘어간다 이 방법을 재귀로 바꾼다 2. 재귀로 완전 탐색 이런 식으로 돌면서 cnt로 항을 세면 됐다 이 재귀를 DP로 바꾼다 3. DP로 변환 근데 여기서 막혔다 로직은 k가 1부터 올라가면서, m에 합을 저장하고 dp[k][m]은 합이 m일 때의 항의 최소 개수로 뒀다 (그림에서는 a가 있지만 잘못씀)..
MIPS 구조 1980년대 스탠포드대학에서 John Hennessy와 그의 동료들에 의해 개발됨 Silicon Graphics, Nintendo, Cisco의 제품에서 사용되고 있음 디자인 원리 1. 규칙적인 것이 간단성을 위해 좋음 (일관성있는 명령어 형태) 2. 많이 발생되는 사항을 빨리 처리함 (복잡한 명령어를 여러개 단순한 명령어로) 3. 적을수록 빠름 (32개의 레지스터가 1000개보다 빠름) 4. 좋은 설계는 좋은 절충안을 요구함 (융통성 제공, 적은 수의 명령어 유지) 설계원칙1: 규칙적인 것이 간단성을 위해 좋음 일관성있는 명령어 형태 같은 수의 피연산자 (두 개의 source와 한 개의 destination) 하드웨어로 구현하기 쉬움 명령어 addtion(더하기) subtraction(빼..
파이썬 크롤링 시리즈 네이버 웹툰 이미지 크롤링, 저장하기: foxtrotin.tistory.com/173 셀레니움으로 웹 게임 자동 매크로 만들기: 현재글 네이버 실시간 검색어 가져오기: foxtrotin.tistory.com/267 네이버 웹툰 요일별 크롤링: foxtrotin.tistory.com/328 selenium이란? 웹 애플리케이션을 위한 테스팅 프레임워크. 자동화 테스트를 위한 여러가지 기능을 제공함 https://zzzscore.com/1to50/ 1~50을 클릭하는 이 게임 매크로를 만들어 볼 것 1. Selenium 설치 파이썬 설치 폴더-scripts-cmd키고 pip install selenium 안 되면 참고 https://foxtrotin.tistory.com/172 VS 파..