목록PS (1098)
넘치게 채우기
https://www.acmicpc.net/problem/2938BOJ - 3으로 나누어 떨어지지 않는 배열문제 유형: 애드 혹, 해 구성하기, 많은 조건 분기문제 난이도: Gold V시간 제한: 1초메모리 제한: 256MB 문제자연수로 이루어진 배열이 주어졌을 때, 수의 순서를 적절히 바꿔서 인접한 두 수의 합이 3으로 나누어 떨어지지 않는 배열을 만드는 프로그램을 작성하시오. 입력첫째 줄에 배열의 크기 N이 주어진다. (1 ≤ N ≤ 10000)둘째 줄에는 배열에 들어있는 수가 공백으로 구분되어 주어진다. 수는 1,000,000보다 작거나 같은 자연수이다. 출력만약, 3으로 나누어 떨어지지 않게 배열을 만들 수 있다면 첫째 줄에 출력한다. 불가능하다면 -1을 출력한다. 풀이0을 나머지가 0인 수들, ..
https://www.acmicpc.net/problem/17255BOJ - N으로 만들기문제 유형: 브루트 포스, 백트래킹문제 난이도: Gold IV시간 제한: 1초메모리 제한: 256MB 문제준하는 노트에 수를 적다가 수가 만들어지는 방식을 깨달았다.처음에 어떤 숫자 하나를 적고 만들어진 수의 왼쪽이나 오른쪽에 숫자를 계속 붙이면 어떤 수 N이든 만들 수 있다는 것이다.다시 말해 어떤 수 N을 만들기 위해서는, 처음에 어떤 숫자를 하나 적고 아래의 두 가지 행동을 반복한다.수의 왼쪽에 숫자를 하나 적는다.수의 오른쪽에 숫자를 하나 적는다.준하는 어떤 수 N을 만드는 방법의 수가 몇 가지인지 궁금해졌다. 이를 알아내는 프로그램을 작성해주자. 숫자를 적는 과정에서 나온 수가 순서대로 모두 같다면 같은 방..
https://www.acmicpc.net/problem/19646BOJ - Random Generator문제 유형: 세그먼트 트리, 이분 탐색문제 난이도: Platinum V시간 제한: 1초메모리 제한: 1024MB 문제국렬이는 1부터 N까지의 양의 정수로 이루어진 순열을 주어진 양의 정수 w1 ... , wN를 이용해서 무작위로 만들 것이다. 다음은 무작위로 순열을 만드는 방법이다.1부터 N까지의 양의 정수 i (1 ≤ i ≤ N)를 연속적으로 wi개씩 배치한다.현재 배치된 양의 정수의 총 개수를 W라고 하자. 1부터 W까지의 양의 정수들 중에서 균등하게 숫자 하나 pi를 선택한다.pi번째 수를 순열에 추가한다.순열에 추가한 수들을 전부 지우고, 남은 수가 없을 때까지 2부터 4의 과정을 거친다.w1..
https://www.acmicpc.net/problem/30867BOJ - 과제가 너무 많아요문제 유형: 문자열, 애드 혹문제 난이도: Gold III시간 제한: 1초메모리 제한: 128MB 문제과제가 너무 많은 로하는 과도한 두통에 시달리며 영어 단어에 있는 모든 wh를 hw로 보게 되었다! 두통이 한번 올 때마다, 문자열 $S$는 다음의 시행에 따라 변화한다. 문자열 S는 1번째 글자부터 L번째 글자까지 있는 길이 L의 문자열이다.문자열 S의 i=1번째 글자부터 L-1번째 글자까지, 다음 과정을 반복한다.만약 i번째 글자와 i+1번째 글자가 차례로 w와 h라면, i번째 글자와 i+1번째 글자를 각각 h와 w로 바꾼다.로하가 N번의 두통을 겪고 나서 주어진 문자열을 어떤 문자열로 보게 될지 출력하여..
https://www.acmicpc.net/problem/2259BOJ - 두더지 잡기문제 유형: 다이나믹 프로그래밍, 정렬문제 난이도: Gold III시간 제한: 2초메모리 제한: 128MB 문제정은이는 두더지 잡기 게임을 즐겨 한다. 어느 날 정은이는 한 야외 행사에서 대형 두더지 잡기 게임을 하게 되었다.게임은 큰 벌판에서 진행되는데, 게임을 시작한 뒤 T(1 ≤ T ≤ 1,000,000,000)초가 지났을 때, 벌판의 (x, y) 좌표(0 ≤ |x|, |y| ≤ 1,000)에서 두더지가 나타나게 된다. 두더지는 매우 짧은 시간동안만 나타나므로, 정확히 T초에 그 위치에 있게 되면 그 위치에서 나타나는 두더지를 잡을 수 있다. 게임을 하기 위해서는 벌판의 이곳저곳을 돌아다녀야 하는데, 정확히 T초에..
https://www.acmicpc.net/problem/22981BOJ - 휴먼 파이프라인문제 유형: 정렬, 그리디문제 난이도: Gold V시간 제한: 1.5초메모리 제한: 1024MB 문제오늘은 중요한 날이다. SUAPC가 있는 날이기 때문이다.이렇게 중요한 날이지만 안타깝게도 일을 해야 한다. 오늘 해야 할 일은 상자 K개를 적절한 곳으로 옮겨야 하는 일이다.상자 K개는 너무 많아서 아무래도 혼자서 전부 나를 수는 없기 때문에, N명의 SUAPC 참가자들이 상자를 나르기 위해 모여 있다. N명 모두가 일을 최대한 빠르게 마치고 SUAPC에 참가하고 싶어한다.참가자들은 두 팀으로 나눠져서 작업을 진행하기로 했다. 두 팀이 같은 수의 상자를 옮길 필요는 없다. 두 팀 모두 적어도 한 명은 포함되어야 한..
https://www.acmicpc.net/problem/23748BOJ - 방문 판매문제 유형: 다이나믹 프로그래밍, 배낭 문제문제 난이도: Gold II시간 제한: 1초메모리 제한: 1024MB 문제SG그룹은 이번에 획기적인 제품 X, Y를 출시했다. SG그룹의 영업 부서에서 외판원으로 일하는 판매왕 레오는 이 두 제품을 주어진 각 할당량 X, Y만큼 N명의 고객의 집을 모두 방문하여 팔아야 한다. 고객마다 1번부터 N번까지 번호가 주어지고, i번 고객의 집에 방문하여 판매에 성공했을 때 팔 수 있는 제품 X, Y의 양이 각각 x_i, y_i로 주어진다. 그러나 어떤 고객은 방문하더라도 제품 구매를 거절하여 판매에 실패할 수 있다.방문 판매를 할 때는 영업 부서에서 정한 매뉴얼에 따라 1번 고객부터 ..
https://www.acmicpc.net/problem/33693BOJ - C)문제 유형: 그리디, 문자열문제 난이도: Gold IV시간 제한: 1초메모리 제한: 1024MB 문제UDPC만을 손꼽아 기다리던 포닉스는 어느새 어디를 봐도 알파벳 U, D, P, C가 보이는 수준에 이르렀다. 그중에서도, 알파벳 C, U와 괄호 ( , )는 굉장히 유사한 모양을 띠기 때문에 구별하기가 매우 힘들어졌다.다행인 점은, 알파벳 C와 U를 돌려 마치 괄호처럼 사용할 수 있다는 점이다. C는 그 모습 그대로 여는 괄호 ( 로 사용하거나, 어느 방향으로든 90도씩 두 번을 돌려 닫는 괄호 ) 로 사용할 수 있다. U는 시계 방향으로 90도를 회전하면 여는 괄호 ( , 반시계 방향으로 90도를 회전하면 닫는 괄호 ) 로..
https://www.acmicpc.net/problem/4563BOJ - 피타고라스의 복수문제 유형: 정수론, 수학, 기하학문제 난이도: Gold V시간 제한: 1초메모리 제한: 128MB 문제피타고라스의 정리는 직각삼각형의 세 변의 관계를 나타내는 정리이다. 빗변의 길이를 C, 다른 두 변의 길이를 A, B라고 한다면 다음과 같은 식으로 쓸 수 있다.A^2 + B^2 = C^2세 변의 길이가 모두 자연수인 직각삼각형 중에 가장 유명한 삼각형은 아래와 같다.A = 12인 경우에는 다음과 같이 두 개의 직사각형을 찾을 수 있다.A가 주어졌을 때, 빗변의 길이 C가 자연수인 직각삼각형을 만드는 자연수 B (B > A)는 몇 개가 있을까? 입력입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이..
https://www.acmicpc.net/problem/30704BOJ - 정사각형 연결문제 유형: 수학, 애드 혹문제 난이도: Gold V시간 제한: 1초메모리 제한: 1024MB 문제한 변의 길이가 1인, 모양과 크기가 같은 정사각형 모양의 타일이 N장 주어진다. 그리고 한 변의 길이가 1인 정사각형들로 이루어진 격자가 그려진 바닥이 있다. 이 바닥에 타일들을 이어 붙여 하나의 도형을 만들자.타일은 격자판의 각 칸에 맞춰서만 붙일 수 있으며, 타일끼리 겹치거나 포갤 수 없다. 또 모든 타일은 서로 연결되어 있어야 한다.정사각형 타일의 장수가 주어지면, 이들을 위에서 설명한 규칙에 맞게 이어 붙여 만들 수 있는 도형 둘레의 최솟값을 구하여라. 하나의 입력에서 T개의 테스트 케이스를 해결해야 한다. 입..