문제 www.acmicpc.net/problem/14226 14226번: 이모티콘 영선이는 매우 기쁘기 때문에, 효빈이에게 스마일 이모티콘을 S개 보내려고 한다. 영선이는 이미 화면에 이모티콘 1개를 입력했다. 이제, 다음과 같은 3가지 연산만 사용해서 이모티콘을 S개 만 www.acmicpc.net 풀이 deque에 (현재 모니터에 표시되어있는 이모티콘의 길이, 클립보드에 복사된 이모티콘의 길이) 를 넣어주며 deque가 빌 때 까지 반복하며 복사, 붙혀넣기, 삭제의 과정을 반복해준다. 소스코드 from collections import deque dp = [[-1]*1001 for _ in range(1001)] dp[1][0] = 0 que = deque() que.append((1,0)) s = ..
문제 www.acmicpc.net/problem/11052 11052번: 카드 구매하기 첫째 줄에 민규가 구매하려고 하는 카드의 개수 N이 주어진다. (1 ≤ N ≤ 1,000) 둘째 줄에는 Pi가 P1부터 PN까지 순서대로 주어진다. (1 ≤ Pi ≤ 10,000) www.acmicpc.net 소스코드 n = int(input()) p = list(map(int, input().split())) dp = [0]*(n+1) for i in range(1, n+1): for j in range(1, i+1): dp[i] = max(dp[i], dp[i-j]+p[j-1]) print(dp[n])
문제 www.acmicpc.net/problem/1463 1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 소스코드 x = int(input()) dp = [0 for _ in range(x+1)] for i in range(2, x+1): dp[i] = dp[i-1]+1 if i%2 == 0 and dp[i]>dp[i//2]+1: dp[i] = dp[i//2]+1 if i%3 == 0 and dp[i]>dp[i//3]+1: dp[i] = dp[i//3]+1 print(dp[x])
문제 www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 풀이 처음엔 배열을 이용해 dfs를 사용하려 했는데, 메모리초과가 났다 ㅠㅠ 1과 2가 연결되어 있으면 arr[1][2] = arr[2][1] = 1 이런식으로 했더니 . . ! 방법을 바꿔서 bfs로 deque를 사용하여 해결했다. 이분그래프란, 간단히 말하면 인접한 정점끼리 다른 색으로 칠할 수 있는 그래프이다. 이를 visited 배열을 통해 방문하지 않았으면 0으로, 방문하였으면 -1과..
www.crocus.co.kr/733
문제 www.acmicpc.net/problem/2583 2583번: 영역 구하기 첫째 줄에 M과 N, 그리고 K가 빈칸을 사이에 두고 차례로 주어진다. M, N, K는 모두 100 이하의 자연수이다. 둘째 줄부터 K개의 줄에는 한 줄에 하나씩 직사각형의 왼쪽 아래 꼭짓점의 x, y좌표값과 오 www.acmicpc.net 소스코드 import sys input = sys.stdin.readline sys.setrecursionlimit(100000) def dfs(x, y): global flg dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] visited[y][x]=1 flg += 1 for i in range(4): nowx, nowy = x+dx[i], y+dy[i] if 0
문제 www.acmicpc.net/problem/2468 풀이 물에 잠기지 않는 부분들만 visited로 방문표시를 하면서 dfs를 돌려줬다. 소스코드 import sys input = sys.stdin.readline sys.setrecursionlimit(100000) def dfs(y, x, a): dx = [-1, 1, 0, 0] dy = [0, 0, -1, 1] visited[y][x] = 1 for i in range(4): nowx, nowy = dx[i]+x, dy[i]+y if 0
- Total
- Today
- Yesterday
- swea 타일링
- 타일링 자바
- 더 맵게
- 프로그래머스
- union-find
- swea 1240
- 메뉴리뉴얼 풀이
- 프로그래머스 자바
- 프로그래머스 파이썬
- 백준 dp 문제
- poker swea
- SSAFY
- 파이썬
- 백준
- 백준 17144
- 1240 자바
- swea 1240 자바
- swea 4070 타일링
- 백준파이썬
- SWEA
- 삼성청년SW아카데미
- 프로그래머스 더 맵게
- ubuntu
- 파이썬 풀이
- swea 타일링 자바
- 우분투
- 1699 자바
- 3996 자바
- yoloV3
- 백준 풀이
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |