[SWEA] <D2> 2001 - 파리 퇴치
·
📖코딩테스트/SWEA
문제N x N 배열 안의 숫자는 해당 영역에 존재하는 파리의 개수를 의미한다.아래는 N=5 의 예이다.M x M 크기의 파리채를 한 번 내리쳐 최대한 많은 파리를 죽이고자 한다.죽은 파리의 개수를 구하라! 예를 들어 M=2 일 경우 위 예제의 정답은 49마리가 된다.입력가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스의 첫 번째 줄에 N 과 M 이 주어지고,다음 N 줄에 걸쳐 N x N 배열이 주어진다.문제출력의 각 줄은 '#t'로 시작하고, 공백을 한 칸 둔 다음 정답을 출력한다.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)제약 사항1. N 은 5 이상 15 이하이다.2. M은 2 이상 N 이하이다.3. 각 영역의 파리 갯수는 3..
[SWEA] <D2> 1954 - 달팽이 숫자
·
📖코딩테스트/SWEA
문제달팽이는 1부터 N*N까지의 숫자가 시계방향으로 이루어져 있다.다음과 같이 정수 N을 입력 받아 N크기의 달팽이를 출력하시오.입력가장 첫 줄에는 테스트 케이스의 개수 T가 주어지고, 그 아래로 각 테스트 케이스가 주어진다.각 테스트 케이스에는 N이 주어진다.출력각 줄은 '#t'로 시작하고, 다음 줄부터 빈칸을 사이에 두고 달팽이 숫자를 출력한다.(t는 테스트 케이스의 번호를 의미하며 1부터 시작한다.)제약 사항달팽이의 크기 N은 1 이상 10 이하의 정수이다. (1 ≤ N ≤ 10)예제 입력2 3 4예제 출력#11 2 38 9 47 6 5#21 2 3 412 13 14 511 16 15 610 9 8 7해결 방법... 솔직히 말해서 어떤 식으로 구현을 해야 할 지 잘 모르겠었던 문제이다.  ..
[SWEA] <D2> 1204 - 최빈수 구하기
·
📖코딩테스트/SWEA
문제어느 고등학교에서 실시한 1000명의 수학 성적을 토대로 통계 자료를 만들려고 한다. 이때, 이 학교에서는 최빈수를 이용하여 학생들의 평균 수준을 짐작하는데, 여기서 최빈수는 특정 자료에서 가장 여러 번 나타나는 값을 의미한다. 다음과 같은 수 분포가 있으면, 10, 8, 7, 2, 2, 4, 8, 8, 8, 9, 5, 5, 3 최빈수는 8이 된다. 최빈수를 출력하는 프로그램을 작성하여라 (단, 최빈수가 여러 개 일 때에는 가장 큰 점수를 출력하라).입력첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 줄에는 테스트 케이스의 번호가 주어지고 그 다음 줄부터는 점수가 주어진다.출력#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스에 대한 답을 출력한다.제약..
[SWEA] <D2> 1208 - Flatten
·
📖코딩테스트/SWEA
문제한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다. 높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다. 평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다. 평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오.가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다.위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다.A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방하다.다음은 제2회 덤프를 수행한 이후의 화면이다.A’부분의 상자를 ..
[백준] 22988 - 재활용 캠페인 ( Python )
·
📖코딩테스트/BOJ
문제입력출력한별이의 화장품 가게에 가서 적당한 순서로 헤어에센스를 교환해서 용량이 꽉 찬 헤어에센스 용기를 몇 개 만들 수 있는지 출력하여라.예제 입력7 130 1 2 3 5 8 13예제 출력3해결 방법투 포인터를 통해 해결할 수 있다. 병을 합칠 때 min(a+b,x//2, x) 이므로 최대한 많은 x//2에 가까운 값들을 찾아가면 된다. start와 end가 교차되기 전까지 1. end가 가리키는 병의 에센스 용량이 x 이면 cnt + 12. start와 end 가 같다면 remain + 13. start와 end의 용량을 합쳐서 x의 절반 이상의 용량이 나온다면 cnt + 14. 용량의 합이 x의 절반 이상이 나오지 않는다면 start가 가리키는 병은 remain으로 처리, start + 1 이때,..
[백준] 2565 - 전깃줄 ( Python )
·
📖코딩테스트/BOJ
문제두 전봇대 A와 B 사이에 하나 둘씩 전깃줄을 추가하다 보니 전깃줄이 서로 교차하는 경우가 발생하였다. 합선의 위험이 있어 이들 중 몇 개의 전깃줄을 없애 전깃줄이 교차하지 않도록 만들려고 한다. 예를 들어, 과 같이 전깃줄이 연결되어 있는 경우 A의 1번 위치와 B의 8번 위치를 잇는 전깃줄, A의 3번 위치와 B의 9번 위치를 잇는 전깃줄, A의 4번 위치와 B의 1번 위치를 잇는 전깃줄을 없애면 남아있는 모든 전깃줄이 서로 교차하지 않게 된다.전깃줄이 전봇대에 연결되는 위치는 전봇대 위에서부터 차례대로 번호가 매겨진다. 전깃줄의 개수와 전깃줄들이 두 전봇대에 연결되는 위치의 번호가 주어질 때, 남아있는 모든 전깃줄이 서로 교차하지 않게 하기 위해 없애야 하는 전깃줄의 최소 개수를 구하는 프로그램..
[백준] 19942 - 다이어트 ( Python )
·
📖코딩테스트/BOJ
문제식재료 N개 중에서 몇 개를 선택해서 이들의 영양분(단백질, 탄수화물, 지방, 비타민)이 일정 이상이 되어야 한다. 아래 표에 제시된 6가지의 식재료 중에서 몇 개를 선택해서 이들의 영양분의 각각 합이 최소 100, 70, 90, 10가 되도록 하는 경우를 생각해보자. 이 경우 모든 재료를 선택하면 쉽게 해결되지만, 우리는 조건을 만족시키면서도 비용이 최소가 되는 선택을 하려고 한다.예를 들어, 식재료 1, 3, 5를 선택하면 영양분은 100, 145, 130, 10으로 조건을 만족하지만 가격은 270이 된다. 대신 2, 3, 4를 선택하면 영양분의 합은 110, 130, 90, 10, 비용은 180이 되므로, 앞의 방법보다는 더 나은 선택이 된다. 입력으로 식재료 표가 주어졌을 때, 최저 영양소 기..
[백준] 15649 - N과 M (1) ( Python )
·
📖코딩테스트/BOJ
문제자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. 1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열입력첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)출력한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해야 한다.예제 입력 14 2예제 출력 11 21 31 42 12 32 43 13 23 44 14 24 3해결 방법n,m = map(int,input().split())def recursion(number): if number == m: print(*arr) ..
여우비_YoBi
'분류 전체보기' 카테고리의 글 목록 (11 Page)