본문 바로가기

📊 Algorithm92

이화여자대학교 백준 대회 준비 드릉드릉 ..inging ✨출제진 모으기✨ 멋진언니바짓가랑이 잡기 올해까지 1000문제 풀고 연락하라고 돌려말하기 교수님 찬스 써보기 학교 공지사항에는 좀 잇다가.. + 배수아, 박지영, 임현지 님? 추천받음 이독 선배님들??? 어디에계십니까? ✨예산 따기✨ 2023. 9. 1.
🚩 솔브닥 - 그랜드 아레나 🚩 + 👽왹파티 대회형 랭킹올리기는 처음이다 쉬운 앞 두 문제를 풀고 기뻐했으나.. 장난하나 거기서 멈췄다 ... 일단 재수강은 못하는 B가 나왔으니 뭐.. ?? 이렇게 망쳐도 B가 나오네 c- 나올줄 시간초과 from sys import stdin n = int(stdin.readline()) def Calcul(n,x,y): if x == "*" : return n * y else: return n + y def Seven(k_now,rere): global LUCKY if rere == N: if k_now % 7 == 0: LUCKY = True return 0 #1 k_now1 = Calcul(k_now,Nlist[rere[0]],Nlist[rere[1]]) Seven(k_now1,rere+1) #2 k_now.. 2023. 8. 12.
🧚‍♂️알고리즘🧚‍♂️ - 조합/순열 1 🧮조합🧮 n개의 숫자에서 r 개를 뽑는 경우의 수 (순서 고려 없음) 🧮순열🧮 n개의 숫자에서 r 개를 순서를 정해 뽑는 경우의 수 (순서 고려) 수학 식으로 표현하지 않고 동적 계획법처럼 점화식으로 표현함! 1. 특정 문제를 가정하기 2. 모든 부분 문제가 해결된 상황이라고 가정 하고 지금 문제 생각하기 3. 특정 문제를 해결한 내용을 바탕으로 일반 점화식 도출하기 조합 점화식 D[i][j] = D[i-1][j](남은 하나를 선택하지 않는 경우) + D[i-1][j-1](남은 하나를 선택하는 경우) 0! = 1 브론즈1 11050번: 이항 계수 1 첫째 줄에 \(N\)과 \(K\)가 주어진다. (1 ≤ \(N\) ≤ 10, 0 ≤ \(K\) ≤ \(N\)) www.acmicpc.net 예전에는 팩토리얼.. 2023. 8. 10.
🧚‍♂️알고리즘🧚‍♂️ - 🌴 - 최소 공통 조상 (LCA 알고리즘) 🌴 최소 공통 조상🌴 임의의 두 노드에서 처음 공통으로 만나게 되는 부모 노드를 지칭하는 말 LCA 알고리즘 이용 🌴일반적인 최소 공통 조상 구하기(높이가 크지 않음) - 깊이 맞춰 주기 (깊이 알기-DFS,BFS 등 이용) - 동시에 부모 노드로 올라가면서 같은 노드에 도착할 때가지 반복하기 🌴빠른 최소 공통 조상 구하기(높이가 크지 않음) - 부모 노드 저장 리스트 만들기 부모 노드 리스트 p[k][n] : n번 노드의 2^k번째 부모의 노드 번호 부모 노드 리스트 점화식 p[k][n] = p[k-1][p[k-1][n]] - 선택된 두 노드의 깊이 맞추기 2^k 단위로 이동하면서 맞추기 - 최소 공통 조상 찾기 2^k 단위로 이동하면서 찾기 골드 3 11437번: LCA 첫째 줄에 노드의 개수 N이 .. 2023. 8. 2.
🏵SUAPC🏵 신촌지역 대학교 프로그래밍 대회 2023 summer [SUAPC 2023 Summer 신청] 총 상금 204만원 SUAPC 2023 Summer가 신촌지역 대학생을 대상으로 열립니다! ** 대회 진행 ** 일시: 2023년 8월 26일 토요일 진행 시간: 오후 12시~5시(5시간) 참가 자격: - 공식 참여자: 서강, 숙명, 연세, 이화, 홍익대학교 휴학/재학중인 학부생 - 비공식 참여자: 서강, 숙명, 연세, 이화, 홍익대학교 졸업생 (졸업한 지 1년 이내) ** 대회 신청 ** 기한: ~ 8월 21일 월요일 오후 11시 59분까지 SUAPC 2023 Summer 신청 링크 : https://forms.gle/9pkWzxBZYqGnFxHN8 신청 확인용 엑셀 시트 링크 : https://icpc-sinchon.io/s/suapc-23s-teams ** .. 2023. 8. 2.
🧼 클린코드 🫧 알튜비튜에서 코드 리뷰를 위해 공부해봅시다 아래 내용 출처 알튜비튜! C++ 코드 작성 컨벤션 변수 : 스네이크 표기법 함수 : 카멜 표기법 상수 : 대문자와 언더스코어 int hello_world; //변수 int helloWorld() //함수 const int HELLO_WORLD //상수 클린 코드 작성 전역변수 사용은 최대한 지양! 전역변수를 많이 사용하게 되면 코드가 길어질 경우, 실수를 많이 유발하게 돼요. 전역변수로 썼다는 내용을 까먹고 지역변수로 중복해서 선언할 수도 있구요! 특히 협업에서 아주 치명적이죠. 따라서 전역변수는 정말 필요한 경우를 제외하곤 지양하고 있습니다!! 전역변수가 필요한 경우는? 3개 이상의 함수에서 동일하게 사용하는 변수이거나, 재귀함수에서 사용하는 변수일 경우 메.. 2023. 8. 1.
🧚‍♂️알고리즘🧚‍♂️ - 🌴 - 세그먼트 트리 🌴세그먼트 트리🌴 주어진 데이터의 구간 합과 데이터 업데이트를 빠르게 구현하기 위한 자료구조 (큰 범위 세그먼트 트리 == 인덱스 트리) 세그먼트 트리 종류 : 구간 합 / 최대 최소 구하기 🌴구현 단계🌴 1. 트리 초기화하기 트리 리스트의 크기 : 2 ^(k+1) ( 2^k >= N(노드수) 를 만족하는 k의 최솟값 ) 2. 질의값 구하기 (구간 합 또는 최소/최대) + 원래 노드 인덱스를 세그먼트 트리 인덱스로 변경하기 : 세그먼트 트리 인덱스 = 주어진 질의 인덱스 + 리프 노드 시작 인덱스(2^k -1) 질의값 구하기 1) 시작인덱스 % 2 == 1일 때 해당 노드 선택 2) 끝인덱스 % 2 == 0일 때 해당 노드 선택 3) 시작인덱스 = (시작인덱스 + 1) / 2 (시작인덱스 깊이 변경) 4.. 2023. 7. 31.
🧚‍♂️알고리즘🧚‍♂️ - 🌳 - 이진 트리 🌳 이진 트리 🌳 각 노드의 자식 노드의 개수가 2 이하로 구성되어 있는 트리 (가장 많이 사용되는 형태) 🌳 종류 편향 이진 트리 노드들이 한쪽으로 편향된 이진 트리 탐색 속도가 저하되고 공간이 많이 낭비됨 포화 이진 트리 트리 높이가 모두 일정 / 리프 노드가 꽉 찬 이진 트리 완전 이진 트리 마지막 레벨을 제외하고 완전하게 노드들이 채워진 / 마지막 레벨은 왼쪽부터 채워진 이진 트리 일반적인 형태 🌳 트리의 노드와 인덱스 간 상관관계 루트 노드 인덱스 = 1 부모 노드 인덱스 = 현재인덱스 / 2 (몫) 현재 노드가 루트 노드가 아닌 경우에 왼쪽 자식 노드 인덱스 = 현재인덱스 * 2 현재인덱스 * 2 가 전체노드 개수보다 작거나 같을 때 오른쪽 자식 노드 인덱스 = 현재인덱스 * 2 + 1 현재인.. 2023. 7. 26.
🧚‍♂️알고리즘🧚‍♂️ - 🎄 - 트라이 🎄트라이🎄 문자열 검색을 빠르게 실행할 수 있도록 설계한 트리 형태의 자료구조 - 루트 노드는 공백 상태 유지 🥈 실버 3 14425번: 문자열 집합 첫째 줄에 문자열의 개수 N과 M (1 ≤ N ≤ 10,000, 1 ≤ M ≤ 10,000)이 주어진다. 다음 N개의 줄에는 집합 S에 포함되어 있는 문자열들이 주어진다. 다음 M개의 줄에는 검사해야 하는 문자열들이 주어 www.acmicpc.net 안타깝지만.. 이미 푼 문제라네.. 시무룩이라네.. from sys import stdin input = stdin.readline class Node(object): def __init__(self, isEnd) : self.isEnd = isEnd self.childNode = {} class Trie(ob.. 2023. 7. 18.
🧚‍♂️알고리즘🧚‍♂️ - 트리🎄 🎄 트리 🎄 노드와 에지로 연결된 그래프의 특이한 구조 - 사이클이 없다 -1개의 루트 노드가 존재한다 - 루트 노드를 제외한 노드는 단 1 개의 부모 노드를 가진다 + 트리의 부분 트리는 트리의 모든 특징을 따른다 노드 데이터 표현 요소 에지 노드와 노드의 연결 관계를 나타내는 요소 루트 노드 트리에서 가장 상위에 위치한 노드 부모 노드 두 노드 사이의 관계에서 상위 노드에 해당하는 노드 자식 노드 두 노드 사이의 관계에서 하위 노드에 해당하는 노드 리프 노드 트리에서 가장 하위에 위치한 노드 서브 트리 전체 트리에 속한 작은 트리 트리는 그래프 자료구조 중 하나의 형태이므로 그래프 구현/그래프 탐색 방식을 사용 가능 🥈 실버 2 11725번: 트리의 부모 찾기 루트 없는 트리가 주어진다. 이때, 트리.. 2023. 7. 18.