반응형 전체 글252 [백준][Python] 12904번 A와 B 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net 코드 s = input() t = input() while 1: if t[-1] == 'B': t = t[:-1:] # 문자열 맨 뒤의 B 제거 t = t[::-1]# 문자열 뒤집기 elif t[-1] == 'A': t = t[:-1]# 문자열 맨 뒤의 A 제거 if t == s: print(1) break if len(t) == len(s): print(0) break 설명 순서를 s에서 t를 만드는 것이 아니라 t에서 s를.. 2022. 10. 28. [백준][Python] 1339번 단어 수학 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 코드 from collections import defaultdict n = int(input()) dic = defaultdict(int) word = [] for _ in range(n): word.append(input()) for w in word: for i in range(len(w)): dic[w[i]] += 10**(len(w)-i-1) n_list = [] for i in dic: n_list.append(dic[i]) n_list.sort.. 2022. 10. 27. [백준][Python] 1697번 숨바꼭질 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 코드 from collections import deque def dfs(): queue = deque() queue.append(n) while queue: nx = queue.popleft() if nx == k: return visit[nx] for i in (nx-1,nx+1,nx*2): if 0 2022. 10. 26. [백준][Python] 10872번 팩토리얼 10872번: 팩토리얼 0보다 크거나 같은 정수 N이 주어진다. 이때, N!을 출력하는 프로그램을 작성하시오. www.acmicpc.net 코드 n = int(input()) ans = 1 for i in range(n): ans *= (i+1) print(ans) 2022. 10. 25. [백준][Python] 11656번 접미사 배열 11656번: 접미사 배열 첫째 줄에 문자열 S가 주어진다. S는 알파벳 소문자로만 이루어져 있고, 길이는 1,000보다 작거나 같다. www.acmicpc.net 코드 s = input() word = [] for i in range(len(s)): word.append(s[i:]) word.sort() for i in word: print(i) 2022. 10. 21. [백준][Python] 1094번 막대기 https://www.acmicpc.net/problem/1094 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 코드 x = int(input()) s = [64] while 1: if sum(s) > x: num = s.pop() n = num // 2 if sum(s) + n >= x: s.append(n) else: s.append(n) s.append(n) if sum(s) == x: break print(len(s)) 2022. 10. 20. [백준][Python] 1026번 보물 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 코드 n = int(input()) a = list(map(int,input().split())) b = list(map(int,input().split())) a.sort() b.sort(reverse=True) ans = 0 for i,j in zip(a,b): ans += i*j print(ans) 2022. 10. 19. [백준][Python] 4673번 셀프 넘버 https://www.acmicpc.net/problem/4673 4673번: 셀프 넘버 셀프 넘버는 1949년 인도 수학자 D.R. Kaprekar가 이름 붙였다. 양의 정수 n에 대해서 d(n)을 n과 n의 각 자리수를 더하는 함수라고 정의하자. 예를 들어, d(75) = 75+7+5 = 87이다. 양의 정수 n이 주어졌을 때, www.acmicpc.net 코드 num = set([i for i in range(1,10001)]) n_list = set() for i in range(1,10001): for j in str(i): i += int(j) n_list.add(i) ans = num - n_list ans = sorted(ans) for i in ans: print(i) 2022. 10. 18. [백준][Python] 2533번 사회망 서비스(SNS) 2533번: 사회망 서비스(SNS) 첫 번째 줄에는 친구 관계 트리의 정점 개수 N이 주어진다. 단, 2 ≤ N ≤ 1,000,000이며, 각 정점은 1부터 N까지 일련번호로 표현된다. 두 번째 줄부터 N-1개의 줄에는 각 줄마다 친구 관계 트리의 에 www.acmicpc.net 코드 import sys sys.setrecursionlimit(10**9) def dfs(node): visit[node] = 1 for i in graph[node]: if visit[i] == 0: dfs(i) dp[node][0] += min(dp[i][0],dp[i][1]) dp[node][1] += dp[i][0] n = int(input()) graph = [[] for _ in range(n+1)] dp = [[1.. 2022. 10. 17. 이전 1 ··· 6 7 8 9 10 11 12 ··· 28 다음 반응형