[Python] 백준 1021 회전하는 큐
https://www.acmicpc.net/problem/1021 1021번: 회전하는 큐 첫째 줄에 큐의 크기 N과 뽑아내려고 하는 수의 개수 M이 주어진다. N은 50보다 작거나 같은 자연수이고, M은 N보다 작거나 같은 자연수이다. 둘째 줄에는 지민이가 뽑아내려고 하는 수의 위치가 www.acmicpc.net 문제 해설 지민이는 이 큐에서 다음과 같은 3가지 연산을 수행할 수 있다. 1. 첫 번째 원소를 뽑아낸다. 1, 2, 3, 4, 5, 6, 7, 8, 9 중에서 1을 뽑고자 1번 연산을 수행하면 → 2, 3, 4, 5, 6, 7, 8, 9 2. 왼쪽으로 한 칸 이동시킨다. 2, 3, 4, 5, 6, 7, 8, 9에서 4가 뽑고 싶은 경우 3, 4, 5, 6, 7, 8, 9, 2 (2번 연산 1..
[Python] 백준 2577 숫자의 개수
https://www.acmicpc.net/problem/2577 2577번: 숫자의 개수 첫째 줄에 A, 둘째 줄에 B, 셋째 줄에 C가 주어진다. A, B, C는 모두 100보다 크거나 같고, 1,000보다 작은 자연수이다. www.acmicpc.net 문제 세 개의 자연수 A, B, C가 주어질 때 A × B × C를 계산한 결과에 0부터 9까지 각각의 숫자가 몇 번씩 쓰였는지를 구하는 프로그램을 작성하시오. 예를 들어 A = 150, B = 266, C = 427 이라면 A × B × C = 150 × 266 × 427 = 17037300 이 되고, 계산한 결과 17037300 에는 0이 3번, 1이 1번, 3이 2번, 7이 2번 쓰였다. 코드 import sys list = [] for i in..
[Python] 백준 1085번 직사각형에서 탈출
https://www.acmicpc.net/problem/1085 1085번: 직사각형에서 탈출 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램 www.acmicpc.net 문제 한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램을 작성하시오. 해결 문제를 다음과 같은 그림으로 표현해보았다. 결국 x, y, h-y, w-x 중에서 최솟값을 찾으면 되는 문제이다! x, y, w, h = map(i..
[Python] 백준 1806 부분합
https://www.acmicpc.net/problem/1806 1806번: 부분합 첫째 줄에 N (10 ≤ N < 100,000)과 S (0 < S ≤ 100,000,000)가 주어진다. 둘째 줄에는 수열이 주어진다. 수열의 각 원소는 공백으로 구분되어져 있으며, 10,000이하의 자연수이다. www.acmicpc.net 문제 10,000 이하의 자연수로 이루어진 길이 N짜리 수열이 주어진다. 이 수열에서 연속된 수들의 부분합 중에 그 합이 S 이상이 되는 것 중, 가장 짧은 것의 길이를 구하는 프로그램을 작성하시오. 해결 첫번 째 시도 : 처음에는 길이가 아니라 가장 작은 값을 구하려고 했고, while문의 조건에서 틀린듯 하다 import sys n, s = map(int, sys.stdin.re..
[Python] 백준 1920 수 찾기
https://www.acmicpc.net/problem/1920 1920번: 수 찾기 첫째 줄에 자연수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 줄에는 N개의 정수 A[1], A[2], …, A[N]이 주어진다. 다음 줄에는 M(1 ≤ M ≤ 100,000)이 주어진다. 다음 줄에는 M개의 수들이 주어지는데, 이 수들 www.acmicpc.net 문제 N개의 정수 A[1], A[2], …, A[N]이 주어져 있을 때, 이 안에 X라는 정수가 존재하는지 알아내는 프로그램을 작성하시오. 해결 첫 번째 시도 : 웅? 쉬운데..? → 하지만 시간 초과 import sys n = int(sys.stdin.readline()) list_n = list(map(int, sys.stdin.readline(..