분류 전체보기 665

[백준] 1941 소문난 칠공주 python

www.acmicpc.net/problem/1941 1941번: 소문난 칠공주 총 25명의 여학생들로 이루어진 여학생반은 5*5의 정사각형 격자 형태로 자리가 배치되었고, 얼마 지나지 않아 이다솜과 임도연이라는 두 학생이 두각을 나타내며 다른 학생들을 휘어잡기 시작 www.acmicpc.net matrix = [input() for _ in range(5)] delta = [(-1, 0), (1, 0), (0, -1), (0, 1)] result_set = set() def backtrack(arr, index=0, S=0, Y=0): tmp = arr if Y > 3: return if index == 6: arr.sort() result_set.add(tuple(arr)) else: adjacents..

STUDY/Algorithm 2021.03.29

[백준] 12851 숨바꼭질 2 python

www.acmicpc.net/problem/12851 12851번: 숨바꼭질 2 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 www.acmicpc.net from collections import deque n, k = map(int, input().split()) if n == k: print(0) print(1) else: dp = [0] * 100001 q = deque([n]) dp[n] = 1 size, depth, cnt = len(q), 0, 0 if_chk = True limit = 100000 result_v..

STUDY/Algorithm 2021.03.29

[백준] 1697 숨바꼭질 python

www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net from collections import deque n, k = map(int, input().split()) dp = [0] * 100001 q = deque([n]) dp[n] = 1 while q: x = q.popleft() if 0

STUDY/Algorithm 2021.03.29

[백준] 2660 회장뽑기 python

www.acmicpc.net/problem/2660 2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net from collections import deque def bfs(queue): visited = [0] * (n + 1) visited[queue[0]] = 1 while queue: x = queue.popleft() for adjacent in link_dict[x]: if visited[adjacent]: continue queue.append(adjacent) visited[adjacent] = vi..

STUDY/Algorithm 2021.03.28

[백준] 2636 치즈 python

https://acmicpc.net/problem/2636 2636번: 치즈 아래 과 같이 정사각형 칸들로 이루어진 사각형 모양의 판이 있고, 그 위에 얇은 치즈(회색으로 표시된 부분)가 놓여 있다. 판의 가장자리(에서 네모 칸에 X친 부분)에는 치즈가 놓 www.acmicpc.net from collections import deque def bfs(q): melting = 0 melt_list = set() while q: x, y = q.popleft() for i in range(4): dx = x + delta[i][0] dy = y + delta[i][1] if dx = h + 2 or dy = w + 2: continue if visited[dx][dy]: continue..

STUDY/Algorithm 2021.03.28

[백준] 12904 A와B python

www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net s, t = input(), input() while len(t)>len(s): tmp = t[-1] t = t[:-1] if tmp == 'B': t = t[::-1] if t == s: print(1) else: print(0) 플래티넘보고 이거 봐서그런가 너무 쉽게 풀었다.

STUDY/Algorithm 2021.03.26

[백준] 12967 pqr python 못풀었다.

www.acmicpc.net/problem/12967 12967번: pqr N개의 수로 이루어진 배열 A과 정수 K가 주어진다. 0 ≤ p < q < r < N 이면서, A[p] * A[q] * A[r]이 K로 나누어 떨어지는 (p, q, r) 쌍의 개수를 구하는 프로그램을 작성하시오. www.acmicpc.net from itertools import combinations def gcd(y, x): if y < x: # 항상 y가 더 크게 y, x = x, y while x != 0: t = y % x y, x = x, t return abs(y) N, K = map(int, input().split()) n_list = list(map(int, input().split())) # N의 원소와 K 의..

STUDY/Algorithm 2021.03.26

[백준] 12871 무한 문자열

www.acmicpc.net/problem/12871 12871번: 무한 문자열 첫째 줄에 s, 둘째 줄에 t가 주어진다. 두 문자열 s와 t의 길이는 50보다 작거나 같은 자연수이고, 알파벳 소문자로만 이루어져 있다. www.acmicpc.net def gcd(x, y): if x > y: x, y = y, x while x > 0: y, x = x, y % x return y def chk(s, t): tmp = gcd(len(s), len(t)) tmp_s = s*(len(t)//tmp) tmp_t = t*(len(s)//tmp) if tmp_t == tmp_s: return 1 return 0 print(chk(input(), input())) 최소공배수길이로 만들어서 비교하였다.

STUDY/Algorithm 2021.03.26