파이썬(148)
-
백준 10798 파이썬
백준 10798 : 세로읽기 문제 https://www.acmicpc.net/problem/10798 10798번: 세로읽기 총 다섯줄의 입력이 주어진다. 각 줄에는 최소 1개, 최대 15개의 글자들이 빈칸 없이 연속으로 주어진다. 주어지는 글자는 영어 대문자 ‘A’부터 ‘Z’, 영어 소문자 ‘a’부터 ‘z’, 숫자 ‘0’ www.acmicpc.net 답안 코드 : List = [] # 입력을 수집합니다. for i in range(5): a = input() List.append(a) # 문자를 세로로 출력합니다. for j in range(max(len(word) for word in List)): for i in range(5): if j < len(List[i]): print(List[i][j],..
2024.02.11 -
백준 11003 파이썬, 덱 구현해서 정렬(슬라이딩 윈도우)
백준 11003 : 최솟값 찾기 문제 https://www.acmicpc.net/problem/11003 11003번: 최솟값 찾기 N개의 수 A1, A2, ..., AN과 L이 주어진다. Di = Ai-L+1 ~ Ai 중의 최솟값이라고 할 때, D에 저장된 수를 출력하는 프로그램을 작성하시오. 이때, i ≤ 0 인 Ai는 무시하고 D를 구해야 한다. www.acmicpc.net 답안 코드 : from collections import deque N, L = map(int, input().split()) mydeque = deque() now = list(map(int, input().split())) for i in range(N): while mydeque and mydeque[-1][0] > now..
2024.02.09 -
백준 12891 파이썬 , 슬라이딩 윈도우 알고리즘
백준 12891 : DNA 비밀번호 문제 https://www.acmicpc.net/problem/12891 12891번: DNA 비밀번호 평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA” www.acmicpc.net 답안 코드 : checkArr = [0] * 4 myArr = [0] * 4 checkSecret = 0 # 함수 정의 def myadd(c): #새로 들어온 문자를 처리하는 함수 global checkArr,myArr,checkSecret if c == 'A': myArr[0] += 1 if myArr[0] == checkArr[0..
2024.02.08 -
백준 1253 파이썬, 정렬 후 투 포인터 알고리즘
백준 1253 : 좋다 문제 https://www.acmicpc.net/problem/1253 1253번: 좋다 첫째 줄에는 수의 개수 N(1 ≤ N ≤ 2,000), 두 번째 줄에는 i번째 수를 나타내는 Ai가 N개 주어진다. (|Ai| ≤ 1,000,000,000, Ai는 정수) www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline N = int(input()) Result = 0 A = list(map(int, input().split())) A.sort() for k in range(N): find = A[k] i = int(0) j = int(N - 1) while i < j: # 투 포인터 알고리즘 if A[i] + A[j] == fin..
2024.02.07 -
백준 1316 파이썬
백준 1316 : 그룹 단어 체커 문제 https://www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 답안 코드 : n = int(input()) group = 0 for _ in range(n): word = input() error = 0 for i in range(len(word) - 1): # 범위 0부터 단어개수 -1까지 if word[i] != word[i + 1]: # 연속되는 두 문자가 다를 때 new_word ..
2024.02.07 -
백준 1940 파이썬 , 투 포인터 알고리즘
백준 1940 : 주몽 문제 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 답안 코드 : import sys input = sys.stdin.readline N = int(input()) M = int(input()) A = list(map(int, input().split())) A.sort() count = int(0) i = int(0) j = int(N - 1) while i < j: if A[i] + A[j]..
2024.02.06