본문 바로가기

개발자취업12

99클럽 코테 스터디 12일차 TIL + 백준 1051 숫자 정사각형 (파이썬) ※ 1051 숫자 정사각형https://www.acmicpc.net/problem/1051문제 해결 TIPi를 길이 변수로 두고 j, k 좌표에서 떨어진 좌표를 비교해본다.  전체 코드 N, M = map(int,input().split())rec = []for i in range(N): rec.append(list(map(int,input())))side = 0for i in range(min(N, M), 0 , -1): for j in range(N - i): for k in range(M - i): if rec[j][k] == rec[j][k+i] == rec[j+i][k] == rec[j+i][k+i]: side = max(si.. 2025. 2. 4.
99클럽 코테 스터디 11일차 TIL + 백준 1018 체스판 다시 칠하기 (파이썬) ※ 1018 체스판 다시 칠하기https://www.acmicpc.net/problem/1018문제 해결 TIP작년에 풀어봤던 문제이다. (링크 참고)https://uely.tistory.com/177 [Algorithm] 백준 1018 체스판 다시 칠하기 | 파이썬※ 1018 체스판 다시 칠하기https://www.acmicpc.net/problem/1018 문제 해결 TIP입력으로 주어진 맵(그래프)에서 8x8 크기로 자른 후, 가능한 두 가지 맵(그래프)과 비교하는 문제이다. 가능한 두 가지 그래uely.tistory.com  전체 코드N, M = map(int,input().split())graph = []answer = []for i in range(N): graph.append(list(.. 2025. 2. 3.
99클럽 코테 스터디 10일차 TIL + 백준 2573 빙산 (파이썬) ※ 2573 빙산https://www.acmicpc.net/problem/2573문제 해결 TIP기존 bfs 알고리즘으로 탐색과 녹이기를 동시에 수행할 수 있다.  전체 코드 from collections import dequeimport sysinput = sys.stdin.readlinedx = [-1,0,1,0]dy = [0,1,0,-1]N, M = map(int,input().split())graph = []year = 0for i in range(N): graph.append(list(map(int,input().split())))def bfs(x,y): queue = deque() queue.append((x,y)) visited[x][y] = 1 while queu.. 2025. 1. 25.
99클럽 코테 스터디 9일차 TIL + 백준 1707 이분 그래프 (파이썬) ※ 1707 이분 그래프https://www.acmicpc.net/problem/1707문제 해결 TIP문제를 먼저 이해해보자.이분 그래프란 아래 그림과 같이, 이웃하는 정점끼리 가지는 색깔이 달라야 하는 것이다.bfs로 구현하여 주변 정점들을 탐색하면서 색칠해주고, 만약 색깔이 다르다면 이분 그래프가 아니다라는 판단을 내릴 수 있다. 전체 코드from collections import dequeimport sysinput = sys.stdin.readlineK = int(input())for i in range(K): V, E = map(int,input().split()) graph = [[] for _ in range(V+1)] color = [0]*(V+1) for j in .. 2025. 1. 23.
99클럽 코테 스터디 8일차 TIL + 백준 2667 단지번호붙이기 (파이썬) ※ 2667 단지번호붙이기https://www.acmicpc.net/problem/2667문제 해결 TIP해당 문제는 dfs로도, bfs로도 풀 수 있다.  전체 코드 dfs로 풀기N = int(input())graph = []for i in range(N): graph.append(list(map(int,input())))def dfs(x,y): if x=N or y=N: return False if graph[x][y] == 1: graph[x][y] = result+2 dfs(x-1,y) dfs(x,y-1) dfs(x+1,y) dfs(x,y+1) return True return Falser.. 2025. 1. 22.
99클럽 코테 스터디 7일차 TIL + 백준 1697 숨바꼭질 (파이썬) ※ 1697 숨바꼭질https://www.acmicpc.net/problem/1697문제 해결 TIP문제에 주어진 대로 x - 1, x + 1, x * 2 총 3가지 방법이 있다. 동생의 점 K와 같을 때까지 반복하며, 시간은 dist 배열을 통해 1씩 추가해주며 구한다. 전체 코드from collections import dequeN, K = map(int,input().split())def bfs(): queue = deque() queue.append(N) while queue: x = queue.popleft() if x == K: print(dist[x]) break for i in (x - 1, x +.. 2025. 1. 21.
99클럽 코테 스터디 6일차 TIL + 백준 1260 DFS와 BFS (파이썬) ※ 1260 DFS와 BFShttps://www.acmicpc.net/problem/1260문제 해결 TIPDFS는 스택으로, BFS는 큐로 구현한다. 문제 해결 풀이그래프 리스트에 각 노드가 연결된 정보를 표현한다. 전체 코드from collections import dequeN, M, V = map(int,input().split())graph=[[] for _ in range(N+1)]for i in range(M): num1,num2 = map(int,input().split()) graph[num1].append(num2) graph[num2].append(num1)graph = [sorted(g) for g in graph]visited = [False]*(N+1)graph2 .. 2025. 1. 21.
99클럽 코테 스터디 5일차 TIL + 백준 2470 두 용액 (파이썬) ※ 2470 두 용액https://www.acmicpc.net/problem/2470문제 해결 TIP투 포인터 문제다! 이분 탐색에 꽂혀있는 나머지 mid를 어떻게 사용할까 고민했지만..결국 양쪽 끝값끼리 가운데로 가면서 더해주는 방식으로 풀었다.1. 용액들을 먼저 정렬해준다.2. start와 end 값은 0과 N - 1로 두고, 맨 처음 용액과 맨 끝 용액을 더한 절대값으로 answer 변수를 초기화해준다. point는 갱신될 두 용액의 값!3. 두 포인터가 만나기 전까지 더해가며 값을 갱신해준다. 이때, 더한 두 용액의 값이 음수라면 start을 다음으로 큰 용액 값으로 변경해주고, 양수라면 end 포인트를 하나 왼쪽으로 이동시켜준다.4. 두 용액의 합 중 절대값이 제일 작은 두 용액이 출력된다.  .. 2025. 1. 17.
99클럽 코테 스터디 4일차 TIL + 백준 2343 기타 레슨 (파이썬) ※ 2343 기타 레슨https://www.acmicpc.net/problem/2343 문제 해결 TIP개인적으로 이분 탐색 알고리즘을 어떻게 적용할지 생각해내기 어려웠던 문제..(문제 이해도 한번에 안되었다.)그래서 풀이과정을 자세히 써보려 한다. 1. 이분탐색의 처음(start)과 끝(end) 구하기우선 이 문제의 요점은 '블루레이(디스크)의 크기'를 구하는 문제이다. 그렇다면 크기에 초점을 두어 이분 탐색을 적용해보자.우선 예제에서 강의의 길이가 제일 긴 것은 9분짜리 영상이다. 그렇다면 블루레이(디스크) 용량이 최소한 9분 이상은 저장할 수 있어야 모든 강의를 정상적으로 저장할 수 있을 것이다.그렇다면 최대는 어떻게 될까? 바로 모든 강의를 하나의 블루레이(디스크)에 저장했을 때이다. 1부터 9까.. 2025. 1. 16.