본문 바로가기
반응형

Python24

[Python] 백준 10703: 유성 solved.ac 기준 Silver 1 문제작고 특이한 모양의 유성 사진이 인터넷에 올라왔다. 사진에는 매우 높은 곳에서 떨어지고 있는 유성이 허공에 찍혀 있었다. 유성이 떨어지고 난 뒤의 사진도 있었지만 안타깝게도 소실돼버려 이를 복원해야 한다.유성 사진을 문자의 배열로 단순화시켜 표기할 것이다. 문자 'X'는 유성의 일부를, 문자 '#'는 땅의 일부를, 그리고 나머지(공기)는 문자 '.'로 이루어져 있다.모든 유성 조각들은 연결되어 있다. 즉, 두 부분 유성이 존재한다면, 한 쪽에서 유성 조각을 통해 상하좌우로 이동해서 다른 부분 유성에 도달할 수 있다. 땅 또한 같은 방식으로 연결되어 있다.주어진 사진에서 유성은 땅보다 위에 있다. 정확히 말하자면, 적어도 한 줄 이상의 공기('.')가 존재하며, .. 2024. 7. 25.
[Python] 백준 13414: 수강신청 solved.ac 기준 Silver 3 최대한 코드를 간결하고 명확하게 작성하려 생각하며 풀었던 문제이다. 슬럼프가 길어지고 있다. 책을 읽거나 cs공부를 더 함으로써 문해 능력을 더 길러야겠다. 글이 안읽혀서 손가락도 멈춘 느낌이 종종 든다.문제국민대학교에서는 매 학기 시작 전 종합정보시스템에서 수강신청을 한다. 매 수강신청마다 아주 많은 학생들이 몰려 서버에 많은 부하가 가기 때문에, 국민대학교에서는 수강신청 부하 관리 시스템을 도입하기로 결정하였다. 새로운 관리 시스템은 다음과 같은 방식으로 동작한다.수강신청 버튼이 활성화 된 후, 수강신청 버튼을 조금이라도 빨리 누른 학생이 대기목록에 먼저 들어간다.이미 대기열에 들어가 있는 상태에서 다시 수강신청 버튼을 누를 경우 대기목록의 맨 뒤로 밀려난다.잠.. 2024. 7. 24.
[Python] 백준 31946: 죽음의 등굣길 solved.ac기준 Silver 1문제입력출력지훈이가 살아서 등교에 성공할 수 있으면 ALIVE, 그렇지 않으면 DEAD를 출력한다.예제 입력 1230 0 00 0 01예제 출력 1ALIVE예제 입력 2220 00 15예제 출력 2DEAD 정답 코드from collections import dequeN = int(input())M = int(input())arr = [list(map(int, input().split())) for _ in range(N)]X = int(input())visited = [[False] * M for _ in range(N)]q = deque()q.append((0, 0))visited[0][0] = Trueresult = "DEAD"color = arr[0][0]whil.. 2024. 7. 18.
[Python] 백준 14381, 14382: 숫자세는 양 solved.ac기준 Silver 4문제블리트릭스라는 양은 더 빨리 잠을 들기 위한 전략을 세웠다.먼저, 숫자 N을 뽑는다. 그리고 N, 2 × N, 3 × N 등을 떠올린다. 숫자를 떠올릴 때 마다, 그 숫자의 모든 자리수의 숫자들을 적어놓는데, 이미 적은 숫자는 또 적지 않는다. 0에서 9까지의 모든 숫자가 적히게 되면 잠이 든다.블리트릭스는 N에서 시작해서 i × N 후에는 (i + 1) × N을 떠올리게 된다. 예를 들어 N = 1692 일 경우, 다음 과 같이 진행된다:N = 1692. 1, 2, 6, 9가 기록된다.2N = 3384. 1, 2, 3, 4, 6, 8, 9가 기록된다.3N = 5076. 모든 수가 기록되고, 잠에 빠진다.블리트릭스가 잠에 빠지는 수는 무엇인가? 영원히 잠에 들 수 .. 2024. 7. 17.
[Python] 백준 11055: 가장 큰 증가하는 부분 수열 solved.ac기준 Silver 2 - DP 문제수열 A가 주어졌을 때, 그 수열의 증가하는 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오.예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가하는 부분 수열은 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 이고, 합은 113이다.입력첫째 줄에 수열 A의 크기 N (1 ≤ N ≤ 1,000)이 주어진다.둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ Ai ≤ 1,000)출력첫째 줄에 수열 A의 합이 가장 큰 증가하는 부분 수열의 합을 출력한다.예제 입력 1101 100 2 50 60 3 5 6 7 8예제 출력 1113 정답 코드n = .. 2024. 7. 15.
[Python] 백준 3213: 피자 solved.ac기준 Silver 4 문제 자체의 난이도는 낮은데 비문학 같이 해석에 애를 먹어 시간이 오래걸리거나 제출 난사를 해서 풀게 되면 멘탈이 붕괴되는 것 같다. 이 문제가 그런 케이스였다.문제오늘은 상근이의 생일이다. 상근이는 친구들과 피자를 먹으러 갔다.상근이의 친구들은 매우 어려서 피자 한 판을 먹을 수 없다. 하지만, 각 친구들은 자신이 먹을 수 있는 피자의 양을 알고 있다.친구들이 먹을 수 있는 피자의 양은 항상 1/4, 1/2, 3/4 중 하나이다.상근이는 피자 최소 몇 판을 시키면 친구들이 모두 피자를 자신이 먹을 수 있는 양만큼 먹을 수 있는지 구하는 프로그램을 작성하시오. 상근이는 피자를 먹지 않으며, 모든 친구들이 정확히 한 조각씩 피자를 가져야 한다.입력첫째 줄에 친구의 수 .. 2024. 7. 12.
반응형