본문 바로가기
반응형

파이썬15

[Python] 백준 3213: 피자 solved.ac기준 Silver 4 문제 자체의 난이도는 낮은데 비문학 같이 해석에 애를 먹어 시간이 오래걸리거나 제출 난사를 해서 풀게 되면 멘탈이 붕괴되는 것 같다. 이 문제가 그런 케이스였다.문제오늘은 상근이의 생일이다. 상근이는 친구들과 피자를 먹으러 갔다.상근이의 친구들은 매우 어려서 피자 한 판을 먹을 수 없다. 하지만, 각 친구들은 자신이 먹을 수 있는 피자의 양을 알고 있다.친구들이 먹을 수 있는 피자의 양은 항상 1/4, 1/2, 3/4 중 하나이다.상근이는 피자 최소 몇 판을 시키면 친구들이 모두 피자를 자신이 먹을 수 있는 양만큼 먹을 수 있는지 구하는 프로그램을 작성하시오. 상근이는 피자를 먹지 않으며, 모든 친구들이 정확히 한 조각씩 피자를 가져야 한다.입력첫째 줄에 친구의 수 .. 2024. 7. 12.
[Python] 백준 1326: 폴짝폴짝 solved.ac 기준 Silver2 난이도에 비해 유난히 낮은 정답률을 보여 풀게 된 문제이다. 하지만 문제를 해석해보면 BFS 활용 시 크게 어려운 문제는 아닌 듯 보이지만, 아마도 문제의 모호한 면이 문제의 정답률을 낮춘게 아닐까 하는 생각이다.문제개구리가 일렬로 놓여 있는 징검다리 사이를 폴짝폴짝 뛰어다니고 있다. 징검다리에는 숫자가 각각 쓰여 있는데, 이 개구리는 매우 특이한 개구리여서 어떤 징검다리에서 점프를 할 때는 그 징검다리에 쓰여 있는 수의 배수만큼 떨어져 있는 곳으로만 갈 수 있다.이 개구리는 a번째 징검다리에서 b번째 징검다리까지 가려고 한다. 이 개구리가 a번째 징검다리에서 시작하여 최소 몇 번 점프를 하여 b번째 징검다리까지 갈 수 있는지를 알아보는 프로그램을 작성하시오.입력첫째.. 2024. 6. 28.
[Python] 백준 20055: 컨베이어 벨트 위의 로봇 solved.ac 기준 Gold5 구현 문제의 장점은 문제만 읽어내면 어떻게든 풀 수 있다는 것이고, 단점은 문제만 읽어서 모든 것을 이해해내야한다는 것이다. 문제를 풀다가 자기확신에 빠져들지 않고 최대한 문제 지문에 코드를 일대일 대응 시키게끔 해야 풀기가 수월해지는데, 나는 중간에 자기확신을 가졌기 때문에 로직은 완벽히 짜고서 자그마한 수정만 하면 되는걸 많이 헤맨 문제였다. 문제 길이가 N인 컨베이어 벨트가 있고, 길이가 2N인 벨트가 이 컨베이어 벨트를 위아래로 감싸며 돌고 있다. 벨트는 길이 1 간격으로 2N개의 칸으로 나뉘어져 있으며, 각 칸에는 아래 그림과 같이 1부터 2N까지의 번호가 매겨져 있다. 벨트가 한 칸 회전하면 1번부터 2N-1번까지의 칸은 다음 번호의 칸이 있는 위치로 이동하고.. 2024. 4. 13.
[Python] 백준 1325: 효율적인 해킹 실버1~2 문제를 손풀기 겸 뇌 깨우기로 계속해서 풀고 있다. 한창 백준 티어 끌어올리기 할 때 만큼 빠르지는 않지만 문제 해석 능력과 자료구조, 알고리즘 적용 감각이 돌아오고 있는 것이 느껴저 좋다. 이번 문제는 간단하게 그래프를 사용하여 풀 수 있는 문제이다. 문제 해커 김지민은 잘 알려진 어느 회사를 해킹하려고 한다. 이 회사는 N개의 컴퓨터로 이루어져 있다. 김지민은 귀찮기 때문에, 한 번의 해킹으로 여러 개의 컴퓨터를 해킹 할 수 있는 컴퓨터를 해킹하려고 한다. 이 회사의 컴퓨터는 신뢰하는 관계와, 신뢰하지 않는 관계로 이루어져 있는데, A가 B를 신뢰하는 경우에는 B를 해킹하면, A도 해킹할 수 있다는 소리다. 이 회사의 컴퓨터의 신뢰하는 관계가 주어졌을 때, 한 번에 가장 많은 컴퓨터를 해킹.. 2024. 4. 7.
[Python] 백준 1002번: 터렛 한동안 학교 공부와 활동으로 인해 접었던 알고리즘 공부를 다시 시작한다. 코딩 재활을 시작하는 단계로 어릴적에 못풀어 실패 상태로 남긴 문제들을 하나씩 풀어본다. 그 중 하나인 '터렛'은 당시에 모든 경우를 찾는다는 생각으로 범위 내 좌표를 브루트포스할 멍청한 생각을 했었다. 하지만 잘 살펴보니 경우의 수는 0, 1, 2, 무한 밖에 없는 간단한 문제였다. 터렛의 좌표를 원의 중심, 터렛이 감지한 적의 거리를 반지름으로 두면 간단하게 풀 수 있다. 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터.. 2024. 4. 5.
[코드조각] 플로이드-워셜 플로이드-워셜 알고리즘은 그래프 간의 모든 정점에서 다른 정점까지의 최단거리를 쉽게 구하는 알고리즘이다. 모든 정점과 정점 사이의 최단거리가 필요하거나, 키 비교, 줄 세우기 등의 문제에서 사용할 수 있다. import math N = int(input()) #정점의 개수 M = int(input()) #입력할 간선 정보의 개수 #정점과 정점사이의 거리. d[i][j]는 노드 i에서 노드 j까지의 거리 d = [[math.inf for i in range(N)] for j in range(N)] #자기 자신부터 자기 자신의 거리가 0 for i in range(N): d[i][i] = 0 #간선 정보 입력 while M: # 출발지점, 끝지점, 비용 S, E, C = map(int, input().spl.. 2021. 6. 11.
반응형