백준(BOJ)
-
https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net Hint X Solution 수학을 이용하여 해결하였는데 앞에 마이너스가 있으면 그 뒤에 플러스는 항상 빼기를 하면 됩니다 L=list(str(input())) L2=[] sign=0 #전에 마이너스가 부호가 있으면 1 없으면 0 result=0 for i in L: if i!="-" and i !="+": if len(L2)!=0: L2[-1]+=i else: L2.append(i) els..
[백준]1541번 잃어버린 괄호 : 파이썬(python) 설명https://www.acmicpc.net/problem/1541 1541번: 잃어버린 괄호 첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다 www.acmicpc.net Hint X Solution 수학을 이용하여 해결하였는데 앞에 마이너스가 있으면 그 뒤에 플러스는 항상 빼기를 하면 됩니다 L=list(str(input())) L2=[] sign=0 #전에 마이너스가 부호가 있으면 1 없으면 0 result=0 for i in L: if i!="-" and i !="+": if len(L2)!=0: L2[-1]+=i else: L2.append(i) els..
2022.08.09 -
https://www.acmicpc.net/problem/11724 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net Hint X Solution 저는 bfs 알고리즘을 활용하여 해결했습니다. from collections import deque N,M = map(int,input().split()) graph=dict() for i in range(M): a,b = map(int,input().split()) if a not in graph: graph[a]=[b] else: gra..
[백준] 11724번 연결 요소의 개수 : 파이썬(python) 설명https://www.acmicpc.net/problem/11724 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net Hint X Solution 저는 bfs 알고리즘을 활용하여 해결했습니다. from collections import deque N,M = map(int,input().split()) graph=dict() for i in range(M): a,b = map(int,input().split()) if a not in graph: graph[a]=[b] else: gra..
2022.06.23 -
https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net Hint x Solution from collections import deque n,k = map(int,input().split()) visit_list=[0]*100001 # 중복 제외 count_list=[1]*100001 # 거리 def bfs(v, end): q=deque() q.append(v) while q: v=q.popleft() if v==end: r..
[백준] 1697번 숨바꼭질 : 파이썬(python) 설명https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net Hint x Solution from collections import deque n,k = map(int,input().split()) visit_list=[0]*100001 # 중복 제외 count_list=[1]*100001 # 거리 def bfs(v, end): q=deque() q.append(v) while q: v=q.popleft() if v==end: r..
2022.06.22 -
https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net Hint X Solution def factorial(a): value = 1 for i in range(1,a+1): value *= i return value N = int(input()) print(factorial(N)) 팩토리얼의 수학적 정의를 이용한 문제
[백준] 10872번 팩토리얼 : 파이썬(python) 설명https://www.acmicpc.net/problem/10872 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net Hint X Solution def factorial(a): value = 1 for i in range(1,a+1): value *= i return value N = int(input()) print(factorial(N)) 팩토리얼의 수학적 정의를 이용한 문제
2021.10.26 -
#1 두 정수를 한 번에 받을 경우 A, B라는 정수를 한꺼번에 받을 때 A, B=map(int,input().split()) 해당 코드를 쓸 수 있다. #2 입력이 많을 경우 시간을 줄이는 법 input의 경우에는 입력의 시간이 길다 그러나, sys 모듈을 이용하면 해당 시간을 단축시킬 수 있다. import sys A=sys.stdin.readline().split() B=sys.stdin.readline().strip() A는 split()함수가 쓰여 입력을 받을 때 띄어쓰기를 기준으로 A 안에 따로 저장된다. B는 strip()함수가 쓰여 readline()으로 마무리 되었을 때 뒤에 \n이 붙는 것을 없애준다. #3 pow 함수 pow함수는 math 모듈에 있는 함수로 인자가 2개일 때와 3개일..
백준 알고리즘을 시작하기 전 알면 좋은 코드 모음 #1#1 두 정수를 한 번에 받을 경우 A, B라는 정수를 한꺼번에 받을 때 A, B=map(int,input().split()) 해당 코드를 쓸 수 있다. #2 입력이 많을 경우 시간을 줄이는 법 input의 경우에는 입력의 시간이 길다 그러나, sys 모듈을 이용하면 해당 시간을 단축시킬 수 있다. import sys A=sys.stdin.readline().split() B=sys.stdin.readline().strip() A는 split()함수가 쓰여 입력을 받을 때 띄어쓰기를 기준으로 A 안에 따로 저장된다. B는 strip()함수가 쓰여 readline()으로 마무리 되었을 때 뒤에 \n이 붙는 것을 없애준다. #3 pow 함수 pow함수는 math 모듈에 있는 함수로 인자가 2개일 때와 3개일..
2021.10.24 -
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net Hint dynamic programming을 이용 계단을 밟을 경우를 두 가지로 나누어서 생각하자. (i번째 계단을 밟을 경우 i-1번째를 밟고 오는 경우와 i-2번째를 밟고 오는 경우로 나누자) Solution T=int(input()) L=[] for i in range(T): L.append(int(input())) if T==1: print(L[0]) else: L[0]=[L[0],L[0]] L[1]..
[백준] 2579번 계단 오르기 : 파이썬(python) 설명https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net Hint dynamic programming을 이용 계단을 밟을 경우를 두 가지로 나누어서 생각하자. (i번째 계단을 밟을 경우 i-1번째를 밟고 오는 경우와 i-2번째를 밟고 오는 경우로 나누자) Solution T=int(input()) L=[] for i in range(T): L.append(int(input())) if T==1: print(L[0]) else: L[0]=[L[0],L[0]] L[1]..
2021.10.23