전체 글

minblog!
알고리즘

백준 2525번, 10926번, 18108번 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 2525 오븐 시계 https://www.acmicpc.net/problem/2525 2525번: 오븐 시계 첫째 줄에 종료되는 시각의 시와 분을 공백을 사이에 두고 출력한다. (단, 시는 0부터 23까지의 정수, 분은 0부터 59까지의 정수이다. 디지털 시계는 23시 59분에서 1분이 지나면 0시 0분이 된다.) www.acmicpc.net [Python] 백준 알고리즘 온라인 저지 10926 ??! https://www.acmicpc.net/problem/10926 10926번: ??! 준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 ..

알고리즘

백준 15686번 치킨 배달 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 15686 치킨 배달 https://www.acmicpc.net/problem/15686 15686번: 치킨 배달 크기가 N×N인 도시가 있다. 도시는 1×1크기의 칸으로 나누어져 있다. 도시의 각 칸은 빈 칸, 치킨집, 집 중 하나이다. 도시의 칸은 (r, c)와 같은 형태로 나타내고, r행 c열 또는 위에서부터 r번째 칸 www.acmicpc.net 쉬워 보이는 문제 이름과는 다르게 어려웠던 문제였다. 브루트 포스 문제로 모든 조합을 계산하여 집과의 거리가 제일 가까운 m개의 치킨집을 구하고 그 합을 출력하는 문제이다. 코드 import sys from itertools import combinations input = sys.stdin.readline n,..

알고리즘

백준 1158번 요세푸스 문제 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 1158 요세푸스 문제 https://www.acmicpc.net/problem/1158 1158번: 요세푸스 문제 첫째 줄에 N과 K가 빈 칸을 사이에 두고 순서대로 주어진다. (1 ≤ K ≤ N ≤ 5,000) www.acmicpc.net 쉽게 설명하자면 원들 돌며 중첩되는 k 번째 사람들을 리스트에서 빼면서 리스트를 비우는 문제로 나머지 개념을 활용하여 원을 돌면 된다. 코드 import sys input = sys.stdin.readline n, k = map(int, input().split()) circle = [i for i in range(1, n+1)] result = [] num = k-1 while len(circle): if num >= l..

알고리즘

백준 11053번 가장 긴 증가하는 부분 수열 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11053 가장 긴 증가하는 부분 수열 https://www.acmicpc.net/problem/11053 11053번: 가장 긴 증가하는 부분 수열 수열 A가 주어졌을 때, 가장 긴 증가하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 20, 10, 30, 20, 50} 인 경우에 가장 긴 증가하는 부분 수열은 A = {10, 20, 10, 30, 20, 50} 이 www.acmicpc.net 처음에는 그냥 set으로 중복을 없애고 길이를 출력하는 거라고 생각했다.😅 (그렇게 쉬울 리가 없다고 생각해서 이런 식으로 풀진 않았지만) 수열을 돌면서 더 큰 수가 있다면 큰 순으로 번호를 매긴다고 생각하면 된다. 코드 import sy..

알고리즘

백준 11399번 ATM 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 11399 ATM https://www.acmicpc.net/problem/11399 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 그리디 알고리즘 문제로 빠른 시간 순으로 정렬하고 두 개의 리스트를 이용해 하나에는 더해진 값들을 저장하며 풀이하였습니다. 난이도는 어렵지 않았습니다. 코드 import sys input = sys.stdin.readline n = int(input()) minutes = sorted(list(map(int, input().split()))) result = [] r..

알고리즘

백준 10845번 큐 파이썬 풀이

[Python] 백준 알고리즘 온라인 저지 10845 큐 https://www.acmicpc.net/problem/10845 10845번: 큐 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 큐의 구조 이해를 돕는 문제였던 것 같다. FIFO 선입선출에 대해 알고 있다면 쉽게 해결할 수 있었다. 코드 import sys input = sys.stdin.readline def push(x): que.append(x) def pop(): if len(que) == 0: print(-1) else: first = qu..

🚀 새로운 블로그로 이전했습니다.

살펴보러 가기
minjae_4
minblog