본문 바로가기
반응형

알고리즘 풀이/백준125

[백준 19568] 직사각형 (python) https://www.acmicpc.net/problem/19568 19568번: 직사각형 당신이 만든 표에 적힌 수를 한 줄에 30개씩, 30줄로 출력하여라. 정확한 형식은 예제 출력을 참고하자. www.acmicpc.net 직사각형 문제(python) 30 × 30 칸에 0 ~ 100000까지 숫자를 넣어서, 직사각형으로 잘랏을 때 1~50000까지 숫자를 만드는 문제 다른 분이 보여준 저격수..(?) 스코프 힌트를 보고 해결할 수 있었다 ⚙️내가 푼 정답코드 table = [[0]*30 for _ in range(30)] for i in range(15): table[15][14-i] = 1 table[14-i][15] = 1*16 table[15][15+i] = 1*16*16 table[15+i].. 2023. 3. 25.
[백준 1339] 단어 수학 (python) https://www.acmicpc.net/problem/1339 1339번: 단어 수학 첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대 www.acmicpc.net 단어 수학 문제 알파벳으로 이루어진 문자를 숫자로 변환해서 더했을 때 최대값을 구하는 문제 완전 탐색으로 시도했다가 당연하게도 시간초과가 나서 고민하다가 다른 분에게서 아이디어를 얻어 해결 내가 틀린 코드 import sys from itertools import permutations N = int(sys.stdin.readline()) S = [0]*N alpha = [] temp = {.. 2023. 3. 25.
[백준 16967] 배열 복원하기 (python) https://www.acmicpc.net/problem/16967 16967번: 배열 복원하기 크기가 H × W인 배열 A와 두 정수 X와 Y가 있을 때, 크기가 (H + X) × (W + Y)인 배열 B는 배열 A와 배열 A를 아래로 X칸, 오른쪽으로 Y칸 이동시킨 배열을 겹쳐 만들 수 있다. 수가 겹쳐지면 수가 합쳐 www.acmicpc.net 배열 복원하기 문제 조건에 맞게 행렬을 복원하는 문제 조건 써있는 그대로 구현하면 쉽게 구현할 수 있는 문제 내가 푼 정답코드 import sys H, W, X, Y = map(int, sys.stdin.readline().strip().split()) B = [list(map(int, sys.stdin.readline().strip().split())) f.. 2023. 3. 23.
[백준 16139] 인간-컴퓨터 상호작용 (python) https://www.acmicpc.net/problem/16139 16139번: 인간-컴퓨터 상호작용 첫 줄에 문자열 $S$가 주어진다. 문자열의 길이는 $200,000$자 이하이며 알파벳 소문자로만 구성되었다. 두 번째 줄에는 질문의 수 $q$가 주어지며, 문제의 수는 $1\leq q\leq 200,000$을 만족한다. 세 번째 www.acmicpc.net 인간 - 컴퓨터 상호작용 문제 누적합을 이용해서 문자 α가 범위 내에서 몇번이 나오는지 확인하는 문제 누적 합의 원리로 접근하면 해결 할 수 있는 문제 내가 푼 정답 코드(pypy3로만 통과 가능) import sys S = sys.stdin.readline().strip() q = int(sys.stdin.readline()) alpha = 'a.. 2023. 3. 23.
[백준 16918] 봄버맨 (python) https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 봄버맨 문제 조건에 맞게 폭탄을 설치하고, 시간이 지나면 터지게 만드는 문제 조건과 구조만 잘 생각하면 풀어 낼 수 있었다. 내가 푼 정답코드 def bomb_position(): # 폭탄 위치 찾기 for i in range(R): for j in range(C): if bomb[i][j] == 'O': temp.append([i,j]) def bomb_BBAM(): #터뜨리기 while temp: y, x= t.. 2023. 3. 22.
[백준 17413] 단어 뒤집기 2 (python) https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 단어 뒤집기 2 문제 정해진 조건대로 단어를 뒤집어보는 문제 조건을 하나씩 나누어 주어면서 풀어나가니 어렵지않게 해결 할 수 있었다 내가 푼 정답코드 import sys S = sys.stdin.readline().strip() + ' ' # 마지막에 공백을 더해주자 stack = [] # 저장해줄 스택 result = '' # 결과물 출력 cnt = 0 # 괄호 .. 2023. 3. 20.
반응형