Unborn 8.0 Yellow Pointer
본문 바로가기

프로그래밍/Python11

[백준/21939] 문제 추천 시스템 Version 1 - 파이썬(Python) 문제 tony9402는 최근 깃헙에 코딩 테스트 대비 문제를 직접 뽑아서 "문제 번호, 난이도"로 정리해놨다. 깃헙을 이용하여 공부하시는 분들을 위해 새로운 기능을 추가해보려고 한다. 만들려고 하는 명령어는 총 3가지가 있다. 아래 표는 각 명령어에 대한 설명이다. recommend x x가 1인 경우 추천 문제 리스트에서 가장 어려운 문제의 번호를 출력한다. 만약 가장 어려운 문제가 여러 개라면 문제 번호가 큰 것으로 출력한다. x가 -1인 경우 추천 문제 리스트에서 가장 쉬운 문제의 번호를 출력한다. 만약 가장 쉬운 문제가 여러 개라면 문제 번호가 작은 것으로 출력한다. add P 추천 문제 리스트에 난이도가 L인 문제 번호 P=를 추가한다. (추천 문제 리스트에 없는 문제 번호 P만 입력으로 주어진.. 2022. 4. 5.
[백준/21938] 영상처리 - 파이썬(Python) 문제 간단하지만 귀찮은 영상처리 과제가 주어졌다. 과제의 명세는 다음과 같다. 세로 길이가 N이고 가로길이가 M인 화면은 총 N × M개의 픽셀로 구성되어 있고 (i, j)에 있는 픽셀은 Ri,j (Red), Gi,j (Green), Bi,j (Blue) 3가지 색상의 의미를 담고 있다. 각 색상은 0 이상 255 이하인 값으로 표현 가능하다. 모든 픽셀에서 세 가지 색상을 평균 내어 경곗값T보다 크거나 같으면 픽셀의 값을 255로, 작으면 0으로 바꿔서 새로운 화면으로 저장한다. 새로 만들어진 화면에서 값이 255인 픽셀은 물체로 인식한다. 값이 255인 픽셀들이 상하좌우로 인접해있다면 이 픽셀들은 같은 물체로 인식된다. 화면에서 물체가 총 몇 개 있는지 구하는 프로그램을 작성하시오. 입력 화면의 세로.. 2022. 4. 5.
[백준 / 21937] 작업 - 파이썬(Python) 문제 민상이는 자신이 해야할 작업 N개를 아래와 같이 작업 순서도로 그려보았다. 위 그림에서 5번 작업을 하기 위해 제일 먼저 2번 작업을 끝내야 하고 그 다음으로 4번 작업을 끝내야 5번 작업을 할 수 있다. 3번 작업은 먼저 해야하는 작업이 없으므로 3번 작업을 바로 시작 할 수 있다. 작업 순서를 정할때 위배되는 작업 순서는 없다. 예를 들어, A 작업을 하려면 B 작업을 먼저 해야하고, B 작업을 해야하기 전에 A 작업을 해야하는 상황은 없다. 민상이는 오늘 반드시 끝낼 작업 X가 있다. 민상이가 작업 X 을 끝내기 위해서 먼저 해야하는 작업의 개수를 구해주자! 입력 민상이가 작업할 개수 N와 작업 순서 정보의 개수 M이 공백으로 구분되어 주어진다. 두 번째줄부터 M+1 줄까지 작업 Ai와 작업 .. 2022. 4. 5.
[백준/21941] 문자열 제거 - 파이썬(Python) 문제 지우고 싶은 문자열 S와 지울 수 있는 문자열 A1, A2, ..., AM이 주어진다. 문자열 Ai들은 각자 Xi라는 점수를 가진다. 이때, 문자열 S를 삭제 연산을 이용하여 모두 제거하려고 한다. 삭제 연산은 두 가지 방법이 존재하며, 원하는 만큼 여러 번에 걸쳐서 수행할 수 있다. 문자열 S의 부분 문자열 중에 문자열 Ai 가 존재한다면 해당하는 부분을 지우고 Xi만큼의 점수를 얻는다(여러 부분 존재해도 한 번만 지운다). 문자열 S에서 문자 하나를 지우고 점수를 1점을 얻을 수 있다. 예를 들어, 문자열 S가 "abcxyzxabc"이 있고 "abc" 문자열을 지울 경우 10점, "xyz" 문자열을 지울 경우 5점을 얻는다고 하자. 문자열을 모두 제거하여 최대 점수를 얻을 수 있는 과정은 아래와.. 2022. 4. 5.
[백준/21921] 블로그 - 파이썬(Python) 문제 찬솔이는 블로그를 시작한 지 벌써 N일이 지났다. 요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다. 찬솔이는X일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다. 찬솔 이를 대신해서 X$X$일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자. 입력 첫째 줄에 블로그를 시작하고 지난 일수 N와 X가 공백으로 구분되어 주어진다. 둘째 줄에는 블로그 시작 1$1$일차부터 N$N$일차까지 하루 방문자 수가 공백으로 구분되어 주어진다. 출력 첫째 줄에 X$X$일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다. 만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다... 2022. 3. 28.
[백준/21918] 전구 - 파이썬(Python) 문제 N$N$개의 전구가 있고 맨 왼쪽에 있는 전구를 첫 번째라고 하자. 전구의 상태는 두 가지가 있으며 이를 숫자로 표현한다. 1$1$은 전구가 켜져 있는 상태를 의미하고, 0$0$은 전구가 꺼져 있는 상태를 의미한다. 전구를 제어하는 명령어가 1번부터 4번까지 4개가 있다. 아래 표는 각 명령어에 대한 설명이다. 1번 명령어 [i$i$ x$x$] (1≤i≤N,0≤x≤1)$(1 \le i \le N, 0 \le x \le 1)$ i$i$ 번째 전구의 상태를 x$x$로 변경한다. 2번 명령어 [l$l$ r$r$] (1≤l≤r≤N)$(1 \le l \le r \le N)$ l$l$번째부터 r$r$번째까지의 전구의 상태를 변경한다. (켜져있는 전구는 끄고, 꺼져있는 전구는 킨다.) 3번 명령어 [l$l$ r.. 2022. 3. 27.
[백준/11057] 오르막 수 - 파이썬(Python) 문제 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. 입력 첫째 줄에 N (1 ≤ N ≤ 1,000)이 주어진다. 출력 첫째 줄에 길이가 N인 오르막 수의 개수를 10,007로 나눈 나머지를 출력한다. 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111.. 2022. 3. 23.
[백준/2579] 계단 오르기 - 파이썬(Python) 문제 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 또는 두 계단씩 오를 수 있다. 즉, 한 계단을 밟으면서 이어서 다음 계단이나, 다음 다음 계단으로 오를 수 있다. 연속된 세 개의 계단을 모두 밟아서는 안 된다. 단, 시작점은 계단에 포함되지 않는다. 마지막 도착 계단은 반드시 밟아야 한다. 따라서 첫 번째 계단을 밟.. 2022. 3. 22.
[백준/11726] 2×n 타일링 - 파이썬(Python) 문제 2 × n 크기의 직사각형을 1 × 2, 2 × 1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2 × 5 크기의 직사각형을 채운 한 가지 방법의 예이다. 입력 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 1,000) 출력 첫째 줄에 2×n 크기의 직사각형을 채우는 방법의 수를 10,007로 나눈 나머지를 출력한다. 11726번: 2×n 타일링 2×n 크기의 직사각형을 1×2, 2×1 타일로 채우는 방법의 수를 구하는 프로그램을 작성하시오. 아래 그림은 2×5 크기의 직사각형을 채운 한 가지 방법의 예이다. www.acmicpc.net 문제풀이 2×n 크기의 직사각형을 1 × 2, 2 × 1 타일로 채우는 방법의 수를 구하는 프로그램을 작성해야 한다. 우선, 길이가 n이라는 .. 2022. 3. 22.
728x90
반응형