본문 바로가기

파이썬82

[BaekJoon] 7576 토마토 (Gold 5) - Python 문제 철수의 토마토 농장에서는 토마토를 보관하는 큰 창고를 가지고 있다. 토마토는 아래의 그림과 같이 격자 모양 상자의 칸에 하나씩 넣어서 창고에 보관한다. 창고에 보관되는 토마토들 중에는 잘 익은 것도 있지만, 아직 익지 않은 토마토들도 있을 수 있다. 보관 후 하루가 지나면, 익은 토마토들의 인접한 곳에 있는 익지 않은 토마토들은 익은 토마토의 영향을 받아 익게 된다. 하나의 토마토의 인접한 곳은 왼쪽, 오른쪽, 앞, 뒤 네 방향에 있는 토마토를 의미한다. 대각선 방향에 있는 토마토들에게는 영향을 주지 못하며, 토마토가 혼자 저절로 익는 경우는 없다고 가정한다. 철수는 창고에 보관된 토마토들이 며칠이 지나면 다 익게 되는지, 그 최소 일수를 알고 싶어 한다. 토마토를 창고에 보관하는 격자모양의 상자들.. 2022. 12. 27.
[BaekJoon] 1697 숨바꼭질 (Silver 1) - Python 문제 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. 입출력 예시 입력: 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다 출력: 수빈이가 동생을 찾는 가장 빠른 시간을 출력한다. 예제 입력1) 5 17 예제 출력1) 4 코드 from.. 2022. 12. 24.
[BaekJoon] 2630 색종이 만들기 (Silver 2) - Python 문제 아래 과 같이 여러개의 정사각형칸들로 이루어진 정사각형 모양의 종이가 주어져 있고, 각 정사각형들은 하얀색으로 칠해져 있거나 파란색으로 칠해져 있다. 주어진 종이를 일정한 규칙에 따라 잘라서 다양한 크기를 가진 정사각형 모양의 하얀색 또는 파란색 색종이를 만들려고 한다. 전체 종이의 크기가 N×N(N=2k, k는 1 이상 7 이하의 자연수) 이라면 종이를 자르는 규칙은 다음과 같다. 전체 종이가 모두 같은 색으로 칠해져 있지 않으면 가로와 세로로 중간 부분을 잘라서 의 I, II, III, IV와 같이 똑같은 크기의 네 개의 N/2 × N/2색종이로 나눈다. 나누어진 종이 I, II, III, IV 각각에 대해서도 앞에서와 마찬가지로 모두 같은 색으로 칠해져 있지 않으면 같은 방법으로 똑같은 크기의.. 2022. 12. 23.
[BaekJoon] 1002번 터렛 (Silver 3) - Python 문제 조규현과 백승환은 터렛에 근무하는 직원이다. 하지만 워낙 존재감이 없어서 인구수는 차지하지 않는다. 다음은 조규현과 백승환의 사진이다. 이석원은 조규현과 백승환에게 상대편 마린(류재명)의 위치를 계산하라는 명령을 내렸다. 조규현과 백승환은 각각 자신의 터렛 위치에서 현재 적까지의 거리를 계산했다. 조규현의 좌표 (x1, y1)와 백승환의 좌표 (x2, y2)가 주어지고, 조규현이 계산한 류재명과의 거리 r1과 백승환이 계산한 류재명과의 거리 r2가 주어졌을 때, 류재명이 있을 수 있는 좌표의 수를 출력하는 프로그램을 작성하시오. 입출력 예시 입력: 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 다음과 같이 이루어져 있다. 한 줄에 x1, y1, r1, x2, y2, r2가 주어.. 2022. 12. 22.
[BaekJoon] 1074번 Z (Silver 1) - Python 문제 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 크기가 2N-1 × 2N-1로 4등분 한 후에 재귀적으로 순서대로 방문한다. 다음 예는 22 × 22 크기의 배열을 방문한 순서이다. N이 주어졌을 때, r행 c열을 몇 번째로 방문하는지 출력하는 프로그램을 작성하시오. 다음은 N=3일 때의 예이다. 입출력 예시 입력: 첫째 줄에 정수 N, r, c가 주어진다. 출력: r행 c열을 몇 번째로 방문했는지 출력한다. 1 ≤ N ≤ 15 0 ≤ r, c < 2N 예제입력1) 2 3 1 예제출력1) 11 예제입력2) 3 7 7 예제출력2) 63 예제.. 2022. 12. 21.
[BaekJoon] 11724번 연결 요소의 개수 (Silver 2) - Python 문제 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. 입출력 예시 입력: 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다.(1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어진다. 출력: 첫째 줄에 연결 요소의 개수를 출력한다. 예제입력1) 6 5 1 2 2 5 5 1 3 4 4 6 예제출력1) 2 예제입력2) 6 8 1 2 2 5 5 1 3 4 4 6 5 4 2 4 2 3 예제출력2) 1 코드 import sys # 재귀호출 깊이 설정과 input함수 재정의를 위해 import sys... 2022. 12. 20.
[BaekJoon] 3711번 학번 (Silver 5) - Python 문제 Z 대학교 학생은 입학할 때 학번을 받게 된다. 학번은 0보다 크거나 같고, 10^6 - 1 보다 작거나 같은 정수이다. Z 대학의 김상근 교수는 학번으로 학생들을 구분한다. 상근이는 학생들을 조금 더 쉽게 기억하기 위해서 자신이 가르치는 학생들의 학번을 m으로 나누었을 때, 나머지가 모두 다른 가장 작은 양의 정수를 찾으려고 한다. 입출력 예시 입력: 첫째 줄에 테스트 케이스의 개수 N이 주어진다. 각 테스트 케이스의 첫째 줄에는 상근이가 가르치는 학생의 수 G가(1 ≤ G ≤ 300) 주어진다. 다음 G개 줄에는 학생의 학번이 한 줄에 하나씩 주어진다. 학번이 같은 경우는 없다. 출력: 각 테스트 케이스마다, 학번을 m으로 나눈 나머지가 모두 다른 가장 작은 정수 m을 출력한다. 예제입력1) 2.. 2022. 12. 19.
[BaekJoon] 11726번 2×n 타일링 (Silver 3) - Python 문제 2xn크기의 직사각형을 1x2, 2x1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2x5 크기의 작사각형을 채운 한 가지 방법의 예이다. 입출력 예시 입력: 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력: 첫째 줄에 2xn 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 코드 a = int(input()) # 입력 받는다 result = [0 for _ in range(0, 1001)] # 1000의 길이를 갖는 리스트를 미리 선언한다. result[1] = 1 # n = 1일때의 경우의수는 1 result[2] = 2 # n = 2일때의 경우의수는 2 for i in range(3, 1001): # n = 3부터 n = 1000.. 2022. 12. 18.
[BaekJoon] 9095번 1, 2, 3 더하기 (Silver 3) - Python 문제 정수 4를 1, 2, 3의 합으로 나타내는 방법은 총 7가지가 있다. 합을 나타낼 때는 수를 1개 이상 사용해야 한다. 1+1+1+1 1+1+2 1+2+1 2+1+1 2+2 1+3 3+1 정수 n이 주어졌을 때, n을 1, 2, 3의 합으로 나타내는 방법의수를 구하는 프로그램을 작성하시오. 입출력 예시 입력: 첫째 줄에 테스트 케이스의 개수 T가 주어진다. 각 테스트 케이스는 한 줄로 이루어져 있고, 정수 n이 주어진다. n은 양수이며 11보다 작다. 출력: 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. 예제 입력1) 3 4 7 10 예제 출력1) 7 44 274 코드 # dp함수 작성 def dp(n: int) -> int: if n == 1: return 1.. 2022. 12. 17.
[프로젝트] 스크립트프로그래밍 텀프 Grid World Game - python 간단 설명 (?) 코드 정리를 안해서 좀 지저분하긴 한데 일단 돌아가니까 ㅋㅋㅋㅋㅋ Grid World Game입니다 vscode에서만 돌아가구요 파이참, 코랩, 주피터노트북, 파이썬 기본 idle 불가능합니다.... # 개발환경 # Python 3.11.0 (main, Oct 24 2022, 18:26:48) # vscode 1.73.1 (user setup) # windows 11 Home 64bit # 조병하 2021136124 import msvcrt import random import time import copy import os grid = list() # 맵 size_list = ["작음", "중간", "큼", "짱큼"] map_size = {"작음" : 4, "중간" : 5, "큼" :.. 2022. 12. 9.
728x90