문제 www.acmicpc.net/problem/1316 1316번: 그룹 단어 체커 그룹 단어란 단어에 존재하는 모든 문자에 대해서, 각 문자가 연속해서 나타나는 경우만을 말한다. 예를 들면, ccazzzzbb는 c, a, z, b가 모두 연속해서 나타나고, kin도 k, i, n이 연속해서 나타나기 때 www.acmicpc.net 풀이 및 소스코드 gword 라는 그룹단어의 알파벳이 들어가는 리스트를 하나 만들어주었다. 이전에 나왔던 알파벳들을 기억해두려고 만들었다. 먼저, for 문으로 입력받은 단어의 맨 처음 알파벳부터 보면서 gword 에 담겨있는지 본다. 없으면 추가하고 카운트를 +1 해준다. 카운트는 전에 나왔던 알파벳이 연속된건지, 아니면 떨어져있던건지 보기위함이다 ! 만약, 담겨있다면 먼..
문제 www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점 www.acmicpc.net 풀이 및 소스코드 편의상 1번째 계단에 대한 점수는 stiars[1]에 있는 것처럼 설명했지만, 코드 짤때는 stairs, dp 모두 0~n-1 인덱스로 초기화했다! import sys input = sys.stdin.readline n = int(input()) stairs = [] dp = [] for i in range(n): stairs.append(int(input())) if n==1: print(stair..
문제 www.acmicpc.net/problem/9184 9184번: 신나는 함수 실행 입력은 세 정수 a, b, c로 이루어져 있으며, 한 줄에 하나씩 주어진다. 입력의 마지막은 -1 -1 -1로 나타내며, 세 정수가 모두 -1인 경우는 입력의 마지막을 제외하면 없다. www.acmicpc.net 풀이 및 소스코드 첫 번째와 두 번째 if 문을 통해 dp의 범위를 정할 수 있다. 0보다 작으면 1로 리턴해주고, 20보다 크면 w(20,20,20)으로 통일해주기때문에 dp 는 3차원 모두 다 0~20 까지만 초기화시켜놓으면 된다. 그리고 dp 값이 존재하면 바로 리턴, 없다면 구하고 리턴하면 된다. 쉬웠당 ㅎㅎ ㅎ dp 실버 2인데 쉬웠다니 .. 나 쫌 늘은건가?.. 착각이겠지 ,,, 흑 ㅠ import..
문제 www.acmicpc.net/problem/20055 20055번: 컨베이어 벨트 위의 로봇 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부 www.acmicpc.net 풀이 문제 이해를 진짜 이상하게 했다... ㅠ 위의 설명과 같이 컨베이어 벨트는 2N 만큼 회전하지만, 로봇은 N자리에서 out 하기 때문에 N만큼만 회전한다는 사실 그리고 이 원리만 이해한다면 문제에서 나온 그대로 풀면 된다. 소스코드 import sys input = sys.stdin.readline from collections import deque n, k = map(int,..
문제 www.acmicpc.net/problem/12865 풀이 및 소스코드 suri78.tistory.com/2 [백준알고리즘] 12865번: 평범한 배낭 -Python [백준알고리즘] 12865번: 평범한 배낭 -Python https://www.acmicpc.net/problem/12865 12865번: 평범한 배낭 첫 줄에 물품의 수 N(1 ≤ N ≤ 100)과 준서가 버틸 수 있는 무게 K(1 ≤ K ≤ 100,000)가 주어진.. suri78.tistory.com 이 분 티스토리를 참고했다. 원래는 입력을 받으면서 그때 그때 비교해주려고 하였으나, 틀렸다고 나온다. 그래서 w, v를 모두 입력 받고, 한 번에 비교해주었다. 저 위 티스토리를 보면 아주 잘 이해할 수 있다 ! import sys..
문제 www.acmicpc.net/problem/1789 1789번: 수들의 합 첫째 줄에 자연수 S(1 ≤ S ≤ 4,294,967,295)가 주어진다. www.acmicpc.net 풀이 및 소스코드 서로다른 자연수 N개의 합이 S일 때, N의 최댓값을 구하는 문제이다. N의 최댓값을 구하기 위해서는 1부터 N까지 더하되, 합계가 S와 같으면 그냥 출력, S보다 커지면 N-1출력 해주면 된다. n = int(input()) pos = 1 res = 0 while True: res += pos if res > n: print(pos-1) break elif res == n: print(pos) break pos += 1
문제 www.acmicpc.net/problem/14494 14494번: 다이나믹이 뭐예요? (1, 1)에서 (n, m)에 도달하는 경우의 수를 구하여라. 단, 경우의 수가 엄청 커질 수 있으므로 경우의 수를 1,000,000,007(=1e9+7)로 나눈 나머지를 출력한다. www.acmicpc.net 풀이 및 소스코드 그야말로 dp 그대로 풀었다. n, m = map(int, input().split()) dp = [[0]*(m+1) for _ in range(n+1)] dp[1][1] = 1 for y in range(1, n+1): for x in range(1, m+1): dx = x+1 dy = y+1 if 0
문제 www.acmicpc.net/problem/1890 1890번: 점프 첫째 줄에 게임 판의 크기 N (4 ≤ N ≤ 100)이 주어진다. 그 다음 N개 줄에는 각 칸에 적혀져 있는 수가 N개씩 주어진다. 칸에 적혀있는 수는 0보다 크거나 같고, 9보다 작거나 같은 정수이며, 가장 www.acmicpc.net 풀이 및 소스코드 처음엔 bfs로 arr[n-1][n-1]까지 가는 경우의 수를 구해주려 했으나 메모리 초과가 떴다 ㅠㅠㅠ 코드는 아래와 같았다. import sys from collections import deque input = sys.stdin.readline n = int(input()) arr = [list(map(int, input().split())) for _ in range(n..
- Total
- Today
- Yesterday
- 1699 자바
- SSAFY
- swea 4070 타일링
- swea 1240 자바
- swea 1240
- 프로그래머스 파이썬
- 백준파이썬
- 더 맵게
- 파이썬
- 메뉴리뉴얼 풀이
- 파이썬 풀이
- 백준 풀이
- 타일링 자바
- 프로그래머스 자바
- yoloV3
- SWEA
- swea 타일링 자바
- 우분투
- 백준 dp 문제
- poker swea
- union-find
- 1240 자바
- ubuntu
- 삼성청년SW아카데미
- 프로그래머스 더 맵게
- 백준 17144
- 프로그래머스
- 백준
- swea 타일링
- 3996 자바
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |