🚩 그리디 thinking [SWEA] 5202-화물도크 랑 똑같은 문제여서 같은 방식으로 풀었다. 시작-끝 시간을 리스트로 받은 다음, 끝나는 시간 순으로 정렬한다. 전회차의 끝 시간보다 다음회차 시작 시간이 같거나 크면 카운팅을 해주면 된다. 시간 때문에 pop(0) 을 안하고 pop() 을 하고 싶어서 내림차순으로 정렬했다. 기억할 것 ⭐ input() 은 매우 느리다. 입력이 10만줄 이상 되면 stdin.readline을 사용하는 것이 좋다. ⭐파이썬 람다 정렬하는 법 # sorted(a, key=lambda x: (-x[1], -x[0])) 정렬결과 [[12, 14], [2, 13], [8, 12], [8, 11], [6, 10], [5, 9], [3, 8], [5, 7], [0, 6], [3..
🚩 분할정복, 재귀 thinking N이 3의 배수이기 때문에 같은 숫자로 안 이루어져 있으면 계속해서 나누면서 -1, 0, 1 의 개수를 구하면 된다. 그래서 같은 숫자로 이루어져 있는지 체크하는 checking 이라는 함수와 9칸으로 행렬을 나눌 divide 라는 함수를 만들어 구했다. 시작행(s_x)과 시작열 (s_y) 을 인자로 하여 함수를 계속 쪼개더라도 값을 확인할 수 있도록 구성했다. 처음 코드를 짤 때 1️⃣과 2️⃣의 순서를 바꿨더니 틀렸다. 일단 어떤 값이 나왔는지를 먼저 체크해야하기 때문에 1️⃣과 2️⃣의 순서로 구성해야한다. 코드 # 같은 숫자로 이루어져 있는지 확인하는 함수 def checking(s_x, s_y, length): # 시작 x, y좌표, 종이 길이 global r..
🚩 BFS thinking 최소 칸수를 구하는 문제이므로 bfs로 해결하자고 생각했다. 코드 풀이 1 visited라는 배열을 만들어 푸는 방법 from collections import deque dx = [-1, 0, 1, 0] dy = [0, 1, 0, -1] def bfs(): global visited q = deque() # 큐 만들고 q.append((0, 0)) # 시작점 넣어주고 visited[0][0] = 1 # 값 갱신 while q: # 큐에 값이 있으면 x, y = q.popleft() # 맨 왼쪽 값 빼서 할당하고 for i in range(4): # 사방 탐색하면서 nx = x+dx[i] ny = y+dy[i] # 인덱스가 범위 이내이면서 미로의 값이 1이고 아직 방문하지 않았..
🚩 자료구조, 문자열, 정렬 thinking 중복없이 처리하기 위해 듣도 못한 사람과 보도 못한 사람을 각각 set에 넣은 후, 교집합을 구해 정렬했다. 파이썬 set의 특징 덕분에 쉽게 해결했다. 코드 N, M = map(int, input().split()) set_N = set() # 듣도 못한 사람의 명단을 담을 set set_M = set() # 보도 못한 사람의 명단을 담을 set for _ in range(N): set_N.add(input()) for _ in range(M): set_M.add(input()) res = sorted(list(set_N & set_M)) # 교집합을 구한다음 정렬 print(len(res)) for ele in res: print(ele) 한줄평 채점하는데..
🚩 그래프탐색, BFS thinking 1. fail (메모리초과) 처음 풀었을때는 N과 K의 범위가 커서 방문체킹을 인덱스로 접근하는 리스트로 안 만들고 딕셔너리로 만들었는데 메모리 초과가 났다. 구글링해보니, 이렇게 하면 방문했던 노드도 큐에 다시 넣어져서 그렇다고 한다. ⭐ 메모리 초과 발생 이유 : 과거에 했던 값을 계속 처리하기 위해 큐에 값을 넣는 것 때문에 발생함. ex. 10에서 갈 수 있는 노드: 9, 11, 20. but, 10까지 갈 수 있는 방법 엄청 많음. (9->10, 11->10, 5->10 ... ) 2. success 😀 방문체킹 리스트를 인덱스로 접근해 100,001 개의 칸으로 만들어줬다. 칸이 10만개 있어도 아무런 상관없다. 괜히 숫자 커지고 for문 많아지면 쫄게된..
- merge에러
- react
- 17406 배열돌리기4
- 프로그래머스
- 보석쇼핑
- 21609 상어 중학교
- 영어끝말잇기
- 브루트포스
- swea
- merge 에러
- BFS
- dp
- 알고리즘
- 20057 마법사 상어와 토네이도
- 삼성코테
- 20056 마법사 상어와 파이어볼
- 2018 카카오 공채
- 파이썬
- git 미러링
- Python
- 기지국설치
- dfs
- 2579 계단오르기
- 삼성기출
- 백준
- Total
- Today
- Yesterday