본문 바로가기

전체 글

(18)
[boj] 1600_말이 되고픈 원숭이_python 문제링크 https://www.acmicpc.net/problem/1600 1600번: 말이 되고픈 원숭이 첫째 줄에 정수 K가 주어진다. 둘째 줄에 격자판의 가로길이 W, 세로길이 H가 주어진다. 그 다음 H줄에 걸쳐 W개의 숫자가 주어지는데, 0은 아무것도 없는 평지, 1은 장애물을 뜻한다. 장애물이 있 www.acmicpc.net 문제설명 문제 k번은 체스의 말처럼 움직일 수 있고 나머지는 상하좌우로만 움직일 수 있을 때 원숭이가 최소한의 동작으로 시작 -> 도착지점까지 갈 수 있는 최소 경우 입력 K : 말처럼 움직일 수 있는 수 W H : 가로, 세로 길이 W*H : 0일 때 갈 수 있는 곳, 1일 때 장애물로 인해 갈 수 없는 곳 출력 원숭이의 동작수의 최솟값 ( 도착할 수 없을 시 -1 출력..
[boj] 16918_봄버맨_python 문제링크 https://www.acmicpc.net/problem/16918 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 문제설명 입력 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. 출력 총 R개의 줄에 N초가 지난 후의 격자판 상태를 출력한다. 조건 1. 폭탄이 있는 칸은 3초가 지난 후에 폭발한다. 2. 폭탄이 폭발한 이후에는 폭탄이 있던 칸이 파괴되어 빈 칸이 되며, 인접한 네 칸도 함께 파..
IoT 사진
[boj] 2228_구간 나누기_python 문제링크 https://www.acmicpc.net/problem/2228 2228번: 구간 나누기 N(1 ≤ N ≤ 100)개의 수로 이루어진 1차원 배열이 있다. 이 배열에서 M(1 ≤ M ≤ ⌈(N/2)⌉)개의 구간을 선택해서, 구간에 속한 수들의 총 합이 최대가 되도록 하려 한다. 단, 다음의 조건들이 만족되 www.acmicpc.net 문제설명 문제 N(1 ≤ N ≤ 100)개의 수로 이루어진 1차원 배열이 있다. 이 배열에서 M(1 ≤ M ≤ ⌈(N/2)⌉)개의 구간을 선택해서, 구간에 속한 수들의 총 합이 최대가 되도록 하려 한다. 단, 다음의 조건들이 만족되어야 한다. 각 구간은 한 개 이상의 연속된 수들로 이루어진다. 서로 다른 두 구간끼리 겹쳐있거나 인접해 있어서는 안 된다. 정확히 M..
[boj] 5557_1학년_python 문제링크 https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 문제설명 문제 배열에 입력된 수 앞에 +나 -를 붙여나온 결과값이 배열에 처음 입력된 수와 일치하는 경우의 수를 구해야 한다. 배열의 연산 과정에서 음수나 20이 넘는 수는 나올 수 없다. 입력 1. 숫자의 개수 N 2. 0 이상 9 이하의 정수 N개 출력 1. 상근이가 만들 수 있는 올바른 등식의 개수 제한 3 ≤ N ≤ 100 출력 : 2^63 -1 문제풀이 처음 DP 배열을 ..
[boj] 17626_Four squares_python 문제링크 https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제설명 문제 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 자연수 n이 주어질 때, n을 최소 개수의 제곱수 합으로 표현하는 컴퓨터 프로그램을 작성하시오. 입력 1. 자연수 n 출력 1. 합이 n과 같게 되는 제곱수들의 최소 개수 ( 개수
[boj] 1300_K번째 수_python 문제링크 https://www.acmicpc.net/problem/1300 1300번: K번째 수 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 배열 A와 B www.acmicpc.net 문제설명 세준이는 크기가 N×N인 배열 A를 만들었다. 배열에 들어있는 수 A[i][j] = i×j 이다. 이 수를 일차원 배열 B에 넣으면 B의 크기는 N×N이 된다. B를 오름차순 정렬했을 때, B[k]를 구해보자. 입력 1. 배열의 크기 N이 주어진다. 2. k가 주어진다 출력 1. 일차원 배열 B를 오름차순 정렬했을 때 나오는 B[k] 제한 배열 A와..
[boj] 13397_구간 나누기2_python 문제링크 https://www.acmicpc.net/problem/13397 13397번: 구간 나누기 2 첫째 줄에 배열의 크기 N과 M이 주어진다. (1 ≤ N ≤ 5,000, 1 ≤ M ≤ N) 둘째 줄에 배열에 들어있는 수가 순서대로 주어진다. 배열에 들어있는 수는 1보다 크거나 같고, 10,000보다 작거나 같은 자연수 www.acmicpc.net 문제설명 입력 1. 배열의 크기 N과 M이 주어진다. 2. 배열에 들어있는 수가 순서대로 주어진다. ( 0 = mid: cnt += ( _list[i] - mid ) if cnt >= M: return p..