코딩 도구(319)
-
백준 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 -
그래프의 표현 (알고리즘, 자료구조)
그래프에 대해서 그래프는 노드와 에지로 구성된 집합이다. 노드는 데이터를 표현하는 단위이고 에지는 그 노드들을 연결한다. 그래프는 여러 알고리즘에 많이 사용되는 자료구조이므로 코딩 테스트에서 자주 볼 수 있다. 그래프를 구현하는 3가지 방법 1. 에지 리스트 2. 인접 행렬 3. 인접 리스트 2차원 리스트 생성 0으로 초기화한 행(row) 개수 3, 열(column) 개수 4인 2차원 리스트를 생성할 때 리스트를 객체를 생성하는 방법 -> 추천!!! A = [[0 for col in range(4)] for row in range (3)] 얕은 복사를 일으켜 생성하는 방법 A = [[0]*4]*3 # 이와 같은 방식으로 선언한 후 값을 변경하면 다른 원소의 값도 함께 변경될 수 있다. A= [[0]*4]..
2024.02.10 -
백준 2566 파이썬
백준 2566 : 최댓값 문제 https://www.acmicpc.net/problem/2566 2566번: 최댓값 첫째 줄에 최댓값을 출력하고, 둘째 줄에 최댓값이 위치한 행 번호와 열 번호를 빈칸을 사이에 두고 차례로 출력한다. 최댓값이 두 개 이상인 경우 그 중 한 곳의 위치를 출력한다. www.acmicpc.net 답안 코드 : table = [list(map(int, input().split())) for _ in range(9)] max_num = 0 max_row, max_col = 0, 0 for row in range(9): for col in range(9): if max_num
2024.02.10 -
백준 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 -
백준 2738 파이썬
백준 2738 : 행렬 덧셈 문제 https://www.acmicpc.net/problem/2738 2738번: 행렬 덧셈 첫째 줄에 행렬의 크기 N 과 M이 주어진다. 둘째 줄부터 N개의 줄에 행렬 A의 원소 M개가 차례대로 주어진다. 이어서 N개의 줄에 행렬 B의 원소 M개가 차례대로 주어진다. N과 M은 100보다 작거나 같 www.acmicpc.net 답안 코드 : A, B = [], [] N, M = map(int, input().split()) for row in range(N): row = list(map(int, input().split())) A.append(row) for row in range(N): row = list(map(int, input().split())) B.append(..
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