본문 바로가기

알고리즘149

[파이썬]baekjoon 12904: A와 B https://www.acmicpc.net/problem/12904 12904번: A와 B 수빈이는 A와 B로만 이루어진 영어 단어가 존재한다는 사실에 놀랐다. 대표적인 예로 AB (Abdominal의 약자), BAA (양의 울음 소리), AA (용암의 종류), ABBA (스웨덴 팝 그룹)이 있다. 이런 사실에 놀란 수 www.acmicpc.net s와 t를 받아서 s와 t가 같아질 수 있는지 확인하는 문제 문제 힌트는, t를 s로 변환시키며 확인하면 더욱 수월하게 풀 수 있다! s = list(input()) t = list(input()) result = 0 while 1: if s ==t: result = 1 break if len(s) == len(t) and s != t: result = 0 b.. 2023. 2. 10.
[파이썬]baekjoon 12931: 두 배 더하기 https://www.acmicpc.net/problem/12931 12931번: 두 배 더하기 모든 값이 0으로 채워져 있는 길이가 N인 배열 A가 있다. 영선이는 다음과 같은 두 연산을 수행할 수 있다. 배열에 있는 값 하나를 1 증가시킨다. 배열에 있는 모든 값을 두 배 시킨다. 배열 B가 주 www.acmicpc.net 문제를 거꾸로 생각해서 주어진 B에서 A가 되게끔 생각하며 문제를 접근하였음 모든 값이 2로 나누어 지면 나눠주고, 하나라도 나누어지지 않는다면 -1을 하여 A값에 도달하게 끔 구현 n = int(input()) arr = list(map(int,input().split())) arr.sort(reverse=True) cnt = 0 while arr != [0]*n: yn = Tr.. 2023. 2. 10.
[파이썬]baekjoon 16198: 에너지 모으기 https://www.acmicpc.net/problem/16198 16198번: 에너지 모으기 N개의 에너지 구슬이 일렬로 놓여져 있고, 에너지 구슬을 이용해서 에너지를 모으려고 한다. i번째 에너지 구슬의 무게는 Wi이고, 에너지를 모으는 방법은 다음과 같으며, 반복해서 사용할 수 있 www.acmicpc.net 재귀를 통해 푸는 문제 완전탐색을 이용해야 함.. 처음엔 좌 우 가장 큰 것으로 해서 뽑았더니 반례에서 걸렸다... 답은 완전탐색으로 최댓값을 구하야함? n = int(input()) arr = list(map(int,input().split())) Max = 0 lst = [] def dfs(level): global Max if len(arr) ==2: if Max < level: Max.. 2023. 2. 9.
[파이썬]baekjoon 1496: 기타 고르기 https://www.acmicpc.net/problem/1496 1496번: 기타 고르기 첫째 줄에 기타의 개수 N이 주어진다. 기타의 개수는 50보다 작거나 같으며, 2보다 크거나 같은 자연수이다. 둘째 줄에 기타의 가치가 주어진다. 기타의 가치는 공백을 사이에 두고 구분해서 순서 www.acmicpc.net dp문제 초기에 max값과 min값만을 의존하여 dp를 접근하였는데 실패.. 모든 값에 대한 경우를 대비시켜줘야 됬던것! 문제에서 주어진 볼륨값을 index로 둔 뒤, 가장 큰 볼륨을 뽑으면 해결 import sys input = sys.stdin.readline n, s, m = list(map(int,input().split())) arr = list(map(int,input().split(.. 2023. 2. 9.
[파이썬]baekjoon 14719: 빗물 https://www.acmicpc.net/problem/14719 14719번: 빗물 첫 번째 줄에는 2차원 세계의 세로 길이 H과 2차원 세계의 가로 길이 W가 주어진다. (1 ≤ H, W ≤ 500) 두 번째 줄에는 블록이 쌓인 높이를 의미하는 0이상 H이하의 정수가 2차원 세계의 맨 왼쪽 위치 www.acmicpc.net 이 문제에서 중요한 건 빗물이 고이는 구간을 설정하는 것이다 for문을 돌며 왼쪽과 오른쪽 큰 길이를 구하고 그 길이중 짧은것에 맞춰 빗물이 고이는 양을 구해주면 된다. h, w = map(int, input().split()) arr = list(map(int, input().split())) result = 0 for i in range(1, w-1): leftmax = ma.. 2023. 2. 7.
[파이썬]swea 1970: 쉬운 거스름돈 https://swexpertacademy.com/main/code/problem/problemDetail.do?problemLevel=2&contestProbId=AV5PsIl6AXIDFAUq&categoryId=AV5PsIl6AXIDFAUq&categoryType=CODE&problemTitle=&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=2&pageSize=10&pageIndex=2 SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 단순 구현문제 t = int(input()) arr = [50000, 10000, 5000, 1000, 500, 100, .. 2023. 2. 5.