본문 바로가기

분류 전체보기

(89)
백준 7453 - 합이 0인 네 정수 (파이썬) 난이도 골드 2 유형 중간에서 만나기 해결 브루트 포스로 해결하기에는 4천의 4제곱이라는 터무니 없는 숫자라서 불가능하다. 중간에서 만나기 알고리즘을 활용하여 획기적으로 시간을 줄여줄 수 있다. 총 4개의 숫자가 여러 줄에 걸쳐서 존재한다. 앞에 2개를 조합하는 경우를 키 값으로 그리고 그 경우의 수를 밸류로 갖는 딕셔너리를 만들어준 뒤 뒤의 2개를 조합하여 만든 숫자에 -1을 곱한 수를 키 값으로 활용해주면 된다. 이유는 ( A+B ) - ( C + D ) 이미 저장해놓은 임의의 A+B이 값이 임의의 C+D와 더해서 0이 되려면 C+D=-(A+B)이여야 하므로이다. 앞 2개 뒤 2개만 for문으로 돌렸으니 4중 for문보다는 훨씬 빠르게 답을 구할 수 있다. defaultdict를 사용시 에러가 발생한..
백준 23353 - 승부 조작 (파이썬) 난이도 골드 3 유형 다이나믹 프로그래밍 해결 단순하게 8방향 DP로 풀 수있다. 코드 from sys import stdin input=stdin.readline n=int(input()) arr=[list(map(int,input().split())) for i in range(n)] dp=[[[0]*(n) for i in range(n)]for i in range(8)] # 상하좌우왼위오위왼아오아 mx=1 # 아래쪽으로 몇개? for i in range(n): dp[0][0][i]=1 if arr[0][i]==1 else 0 for i in range(1,n): for j in range(n): dp[0][i][j]=dp[0][i-1][j]+1 if arr[i][j]==1 else 0 # 위쪽으로 ..
백준 23350 - K 물류창고 (파이썬) 난이도 실버 2 유형 자료구조 - 스택 해결 특별할 것 없이 그냥 구현해주면 해결되는 문제이다. 코드 from sys import stdin from heapq import heappush,heappop from collections import deque,defaultdict input=stdin.readline n,m=map(int,input().split()) ml={i:defaultdict(int) for i in range(1,m+1)} arr=deque([]) sarr=deque([]) for i in range(n): p,w=map(int,input().split()) ml[p][w]+=1 arr.append((p,w)) sarr=sorted(arr) now=m ans=0 s=deque([0..
8. 파일입출력 https://flame-acrylic-c53.notion.site/Nalda-10-a71326b0fe4743549963635d5b203a47 Nalda 10주차 파일 입출력 flame-acrylic-c53.notion.site
7. 구조체 https://flame-acrylic-c53.notion.site/Nalda-9-0cc26862919f4bd099feb058df78c978
6. 포인터 https://flame-acrylic-c53.notion.site/Nalda-7-99402365986f4a4ca8b078ac77cff474 Nalda 7주차 포인터 flame-acrylic-c53.notion.site https://flame-acrylic-c53.notion.site/Nalda-8-d261a1de1df04848927002370fcbcee6
5. 배열과 문자열 https://flame-acrylic-c53.notion.site/Nalda-6-3c2b40d05e8740a1bd23c99388a22271
4. 수정자와 프로세스 https://flame-acrylic-c53.notion.site/Nalda-5-76c64aae6ce0482b8fdd8f1582314931
3. 함수 https://flame-acrylic-c53.notion.site/Nalda-4-2d65604b59d647dca75e4509d57dff0b
2. 제어문 https://flame-acrylic-c53.notion.site/Nalda-3-f2b2b05083c84863bde6d01d0b1071e2