목록알고리즘 문제 풀이/백준 (26)
파란색가운의 개발 블로그

https://www.acmicpc.net/problem/2346 문제1번부터 N번까지 N개의 풍선이 원형으로 놓여 있고. i번 풍선의 오른쪽에는 i+1번 풍선이 있고, 왼쪽에는 i-1번 풍선이 있다. 단, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있다. 각 풍선 안에는 종이가 하나 들어있고, 종이에는 -N보다 크거나 같고, N보다 작거나 같은 정수가 하나 적혀있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다.우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터뜨린다. 양수가 적혀 있을 경우에는 오른쪽으로, 음수가 적혀 있을 때는 왼쪽으로 이동한다. 이동할 때에는 이미 터진 풍선은 빼고 이동..

https://www.acmicpc.net/problem/1904 요즘 백준허브를 이용하느라 글을 잘 안썼는데 오늘 알게된 새로운 사실을 기록하려고 포스팅 하나 씁니다 ! import sysN = int(input())dp = [0] * (N+1)dp[1] = 1dp[2] = 2for i in range(3,N+1): dp[i] = dp[i-1] + dp[i-2]print(dp[N] % 15746)처음 코드 점화식 거의 10분?도 안돼서 발견하고 , 이제 문제 유형 안봐도 DP인걸 딱 알겠어서좀 늘었구나 했는데당황을 안할수가 없었다1. 시간초과는 죽어라 많이 봤어도 메모리 초과는 한번도 못 봤기에2. 생각해보니 N이 1이나 2면 반복문 범위에 문제가 생김문제 조건에 이런게 있다 첫 번째 줄에 지..

https://www.acmicpc.net/problem/2839 import sysN = int(input())count = 0d = [-1] * (5001)d[3] = 1d[5] = 1for i in range(6,N+1): if i % 5 == 0: d[i] = d[i-5] + 1 elif i % 3 == 0: d[i] = d[i-3] + 1 elif d[i-3] > 0 and d[i-5] > 0: d[i] = min(d[i-3],d[i-5]) + 1print(d[N])1. 3kg , 5kg는 자기 자신 한개가 전부이므로 , d[3] = d[5] = 1로 초기값 세팅 가능5 이하의 숫자들은 더이상 만들 수 없으므로 , 반복문은 6부터 시작 -> ..

https://www.acmicpc.net/problem/15649문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다.수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 1 복사3 1예제 출력 1 복사123예제 입력 2 복사4 2예제 출력 2 복사1 21 31 42 12 32 43 13 23 44 14 24 3예제 입력 3 복사4 4예제 출력 3 복사1 2 3 41 2 ..

https://www.acmicpc.net/problem/1138 문제N명의 사람들은 매일 아침 한 줄로 선다. 이 사람들은 자리를 마음대로 서지 못하고 오민식의 지시대로 선다.어느 날 사람들은 오민식이 사람들이 줄 서는 위치를 기록해 놓는다는 것을 알았다. 그리고 아침에 자기가 기록해 놓은 것과 사람들이 줄을 선 위치가 맞는지 확인한다.사람들은 자기보다 큰 사람이 왼쪽에 몇 명 있었는지만을 기억한다. N명의 사람이 있고, 사람들의 키는 1부터 N까지 모두 다르다.각 사람들이 기억하는 정보가 주어질 때, 줄을 어떻게 서야 하는지 출력하는 프로그램을 작성하시오.입력첫째 줄에 사람의 수 N이 주어진다. N은 10보다 작거나 같은 자연수이다. 둘째 줄에는 키가 1인 사람부터 차례대로 자기보다 키가 큰 사람이 ..

https://www.acmicpc.net/problem/14890 풀이 총평어렵진 않았는데 for문을 돌리는 구간을 "매우 유심히" 살펴봐야 했다푸는데 걸린 시간은 30분정도인데 사실 40분정도 95%에서 틀려서 거의 한시간정도 풀었다..아직 갈길이 멀지만 열심히 해봐야겠다 부트캠프 하는 동안은 일주일에 1문제 골드 구현1문제는 테마별로 돌아가면서 풀기로 하려고 한다욕심부리다간 아무것도 할 수 없어파이팅import sysdef check(arr): for i in range(len(arr)-1): if arr[i]!=arr[i+1]: return False # 한번이라도 같지 않으면 false return Truedef checksame(arr,index,d)..

https://www.acmicpc.net/problem/14499 14499번: 주사위 굴리기 첫째 줄에 지도의 세로 크기 N, 가로 크기 M (1 ≤ N, M ≤ 20), 주사위를 놓은 곳의 좌표 x, y(0 ≤ x ≤ N-1, 0 ≤ y ≤ M-1), 그리고 명령의 개수 K (1 ≤ K ≤ 1,000)가 주어진다. 둘째 줄부터 N개의 줄에 지 www.acmicpc.net 문제 크기가 N×M인 지도가 존재한다. 지도의 오른쪽은 동쪽, 위쪽은 북쪽이다. 이 지도의 위에 주사위가 하나 놓여져 있으며, 주사위의 전개도는 아래와 같다. 지도의 좌표는 (r, c)로 나타내며, r는 북쪽으로부터 떨어진 칸의 개수, c는 서쪽으로부터 떨어진 칸의 개수이다. 2 4 1 3 5 6 주사위는 지도 위에 윗 면이 1이고..

https://www.acmicpc.net/problem/14891 14891번: 톱니바퀴 첫째 줄에 1번 톱니바퀴의 상태, 둘째 줄에 2번 톱니바퀴의 상태, 셋째 줄에 3번 톱니바퀴의 상태, 넷째 줄에 4번 톱니바퀴의 상태가 주어진다. 상태는 8개의 정수로 이루어져 있고, 12시방향부터 www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 512 MB 39084 21447 15886 55.095% 문제 총 8개의 톱니를 가지고 있는 톱니바퀴 4개가 아래 그림과 같이 일렬로 놓여져 있다. 또, 톱니는 N극 또는 S극 중 하나를 나타내고 있다. 톱니바퀴에는 번호가 매겨져 있는데, 가장 왼쪽 톱니바퀴가 1번, 그 오른쪽은 2번, 그 오른쪽은 3번, 가장 오른쪽 톱니바퀴는 4번이다..

https://www.acmicpc.net/problem/17413 17413번: 단어 뒤집기 2 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 www.acmicpc.net 단어 뒤집기 2 성공 문제 문자열 S가 주어졌을 때, 이 문자열에서 단어만 뒤집으려고 한다. 먼저, 문자열 S는 아래와과 같은 규칙을 지킨다. 알파벳 소문자('a'-'z'), 숫자('0'-'9'), 공백(' '), 특수 문자('')로만 이루어져 있다. 문자열의 시작과 끝은 공백이 아니다. ''가 문자열에 있는 경우 번갈아가면서 등장하며, '

https://www.acmicpc.net/problem/1205 1205번: 등수 구하기 첫째 줄에 N, 태수의 새로운 점수, 그리고 P가 주어진다. P는 10보다 크거나 같고, 50보다 작거나 같은 정수, N은 0보다 크거나 같고, P보다 작거나 같은 정수이다. 그리고 모든 점수는 2,000,000,000보 www.acmicpc.net 시간 제한메모리 제한제출정답맞힌 사람정답 비율 2 초 128 MB 20859 5249 4355 25.938% 문제 태수가 즐겨하는 디제이맥스 게임은 각각의 노래마다 랭킹 리스트가 있다. 이것은 매번 게임할 때 마다 얻는 점수가 비오름차순으로 저장되어 있는 것이다. 이 랭킹 리스트의 등수는 보통 위에서부터 몇 번째 있는 점수인지로 결정한다. 하지만, 같은 점수가 있을 때..