Algorithm/Python

Algorithm/Python

[백준] 14626 ISBN

https://www.acmicpc.net/problem/14626import sysinput = sys.stdin.readlinenum = list(input().rstrip())div=3sum=0for i in range(13): if num[i]=='*': if i%2==0 : div=1 else: sum+= int(num[i])*(1 if i%2==0 else 3)lastnum = (10 - (sum)%10)%10for x in range(0,10): if (div*x)%10 == lastnum: print(x) 3을 곱한 숫자의 경우, 10보다 커질 수 있어 일의 자릿수끼리 비교해야 한다!

Algorithm/Python

[백준] 12851 숨바꼭질 2

https://www.acmicpc.net/problem/12851import sysfrom collections import dequeinput = sys.stdin.readlinen, k =map(int, input().split())visited = [float('inf')]*100001queue = deque() # 위치, 시간queue.append((n,0))visited[n]=0min_time=float('inf')cnt=0while queue: now, time = queue.popleft() if time>min_time: continue if now == k: if time =time+1: # 시간 같거나 단축 가능 ..

Algorithm/Python

[백준] 1916 최소비용 구하기

https://www.acmicpc.net/problem/1916#정답코드import sysimport heapqinput = sys.stdin.readlineINF = sys.maxsizeN = int(input())M = int(input())graph = [[] for _ in range(N+1)]#그래프 생성for _ in range(M): a,b,w = map(int,input().split()) graph[a].append((w,b))A,B = map(int,input().split())q=[(0,A)]distance = [INF]*(N+1)distance[A] = 0#dijkstrawhile q: m_dis,m_node = heapq.heappop(q) if m_dis > distan..

Algorithm/Python

[백준] 11403 경로 찾기

https://www.acmicpc.net/problem/11403import syssys.setrecursionlimit(10000)input = sys.stdin.readlinen = int(input())graph = [list(map(int, input().split())) for _ in range(n)]def dfs(start, now, visited): for x in range(n): if graph[now][x]==1 and not visited[x]: graph[start][x]=1 # 도달 가능 visited[x]=True dfs(start, x, visited)for i in range(n): visi..

Algorithm/Python

[백준] 1182 부분수열의 합

https://www.acmicpc.net/problem/1182import sysinput = sys.stdin.readlinen, s= map(int, input().split())# 정수 n개 수열, 합이 s가 되는 부분수열arr = [0]+list(map(int, input().split()))cnt = 0# 그냥 모두 트라이하기 - 백트래킹으로....# visited 없이 이전 인덱스보다 이후로 함 (겹치는 거 x)def dfs(now, sum): if sum==s: global cnt cnt+=1 if now == n: return for i in range(now+1, n+1): dfs(i, sum+arr[i])dfs(0,0)if s==..

Algorithm/Python

[백준] 1193 분수찾기

https://www.acmicpc.net/problem/1193import sys, mathinput = sys.stdin.readlinex = int(input())n=0i=0while i 문제의 상황을 잘 보고 이에 맞게 구현하기

Algorithm/Python

[백준] 2580 스도쿠

https://www.acmicpc.net/problem/2580import sysinput = sys.stdin.readlineboard = []blanks = [] # 빈칸 좌표 (queue 대신 사용)for i in range(9): row = list(map(int, input().split())) board.append(row) for j in range(9): if row[j] == 0: blanks.append((i, j))# 특정 위치에 숫자를 놓을 수 있는지 확인하는 함수def is_promising(y, x, num): # 가로줄 검사 if num in board[y]: return False # 세로줄..

Algorithm/Python

[백준] 14425 문자열 집합

https://www.acmicpc.net/problem/14425import sysinput = sys.stdin.readlinen,m = map(int, input().split())s = set()for _ in range(n): s.add(input().rstrip()) cnt = 0for _ in range(m): if input().rstrip() in s: cnt+=1print(cnt)

Algorithm/Python

[백준] 2166 다각형의 면적

https://www.acmicpc.net/problem/2166다각형의 면적을 구하는 공식을 사용해서 좌표들을 이용해 면적을 구하였다.import sysinput=sys.stdin.readlinen = int(input())coord = []for _ in range(n): coord.append(list(map(int, input().split())))coord.append(coord[0])answer = 0for i in range(n): answer += coord[i][0]*coord[i+1][1] - coord[i+1][0]*coord[i][1]print(abs(answer)/2)

Algorithm/Python

[백준] 15652 N과 M

https://www.acmicpc.net/problem/15652 1 ~ n 중 m 개 고르되, 이전 수 사전 순이기 때문에, backtracking & dfs 사용import sysinput= sys.stdin.readlinen,m = map(int, input().split())arr=[]def dfs(start, depth): if depth==m: print(*arr) return for i in range(start, n+1): arr.append(i) dfs(i, depth+1) arr.pop()dfs(1,0)

yoursin
'Algorithm/Python' 카테고리의 글 목록 (4 Page)