목록Python (288)
홍우진의 개발새발
문제 링크https://www.acmicpc.net/problem/17608풀이 코드import sysinput = sys.stdin.readlinen = int(input())arr = [int(input()) for _ in range(n)]cnt = top = 0for i in reversed(arr): if top 코드 해석스택을 사용한다. 체감 난이도: ☆☆☆☆☆
문제 링크https://www.acmicpc.net/problem/9613풀이 코드import mathfor _ in range(int(input())): su = list(map(int, input().split())) n = su[0] sum = 0 for i in range(1, n): for j in range(i + 1, n + 1): sum += math.gcd(su[i], su[j]) print(sum)코드 해석math 의 gcd 함수와 브루투포스 알고리즘을 사용했다. 체감 난이도: ★☆☆☆☆
문제 링크https://www.acmicpc.net/problem/17626풀이 코드import mathn = int(input())dp = [0,1]for i in range(2, n+1): minnum = 4 for j in range(int(math.sqrt(i)), 0, -1): minnum = min(minnum, dp[i - j**2] + 1) dp.append(minnum)print(dp[n])코드 해석dp를 사용한다.https://chaewsscode.tistory.com/116 [Python] BOJ/백준 17626번 Four Squares[문제] https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주..
문제 링크https://www.acmicpc.net/problem/1268풀이 코드n = int (input ())ban = []same = [0] * nfor i in range(n): ban.append(list(map(int, input().split()))) same[i] = [0] * nfor i in range(5): for j in range(n): for k in range(j+1, n): if ban[j][i] == ban[k][i]: same[k][j] = 1 same[j][k] = 1cnt = []for i in same: cnt.append(i.count(1))print(cnt..
문제 링크https://www.acmicpc.net/problem/21736풀이 코드import sysinput = sys.stdin.readlinesys.setrecursionlimit(10**6)def dfs(x, y): global cnt visited[x][y] = 1 if cam[x][y] == 'P': cnt += 1 for i in range(4): newx = x + dx[i] newy = y + dy[i] if -1 코드 해석dfs로 풀었다.https://woojinhong.tistory.com/334 [백준] 2667번: 단지번호붙이기 / 파이썬문제 링크https://www.acmicpc.net/problem/26..
문제 링크https://www.acmicpc.net/problem/1389풀이 코드n, m = map(int, input().split())friend = [[n for _ in range(n)] for _ in range(n)]for _ in range(m): a, b = map(int, input().split()) friend[a - 1][b - 1] = 1 friend[b - 1][a - 1] = 1for k in range(n): for i in range(n): for j in range(n): if i == j: friend[i][j] = 0 else: friend[..
문제 링크https://www.acmicpc.net/problem/2667풀이 코드def dfs(y, x): global visited, cnt visited[y][x] = 1 for i in range(4): newy = y + dirC[i] newx = x + dirR[i] if newy = n or newx = n: continue elif jido[newy][newx] and not visited[newy][newx]: cnt += 1 dfs(newy,newx)n = int(input())jido = [list(map(int, input())) for _ in range(n..
문제 링크https://www.acmicpc.net/problem/11724풀이 코드aimport syssys.setrecursionlimit(5000)input = sys.stdin.readlinedef dfs(node): visited[node] = 1 for i in graph[node]: if not visited[i]: dfs(i)n, m = map(int,input().split())graph = [[] for _ in range(n + 1)]for _ in range(m): u, v = map(int,input().split()) graph[u].append(v) graph[v].append(u)visited = [0] * (n + ..