전체 글 92

[SWEA] 3499. 퍼펙트 셔플 D3 (자바)

3499. 퍼펙트 셔플 D3[문제] 카드를 퍼펙트 셔플 한다는 것은, 카드 덱을 정확히 절반으로 나누고 나눈 것들에서 교대로 카드를 뽑아 새로운 덱을 만드는 것을 의미한다. 정확한 방식은 다음 그림과 같다.N개의 카드가 있는 덱이 주어질 때 이를 퍼펙트 셔플하면 어떤 순서가 되는지 출력하는 프로그램을 작성하라.만약 N이 홀수이면, 교대로 놓을 때 먼저 놓는 쪽에 한 장이 더 들어가게 하면 된다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 자연수 N(1 ≤ N ≤ 1,000)이 주어진다.두 번째 줄에는 덱에 카드가 놓인 순서대로 N개의 카드 이름이 공백으로 구분되어 주어진다.카드의 이름은 알파벳 대문자와 ‘-’만으로 이루어져 있으며, 길이는 80이하이다.[출력..

[SWEA] 208. [S/W 문제해결 기본] 1일차 - Flatten D3 (자바)

208. [S/W 문제해결 기본] 1일차 - Flatten D3[문제]한 쪽 벽면에 다음과 같이 노란색 상자들이 쌓여 있다.높은 곳의 상자를 낮은 곳에 옮기는 방식으로 최고점과 최저점의 간격을 줄이는 작업을 평탄화라고 한다.평탄화를 모두 수행하고 나면, 가장 높은 곳과 가장 낮은 곳의 차이가 최대 1 이내가 된다.평탄화 작업을 위해서 상자를 옮기는 작업 횟수에 제한이 걸려있을 때, 제한된 횟수만큼 옮기는 작업을 한 후 최고점과 최저점의 차이를 반환하는 프로그램을 작성하시오. 가장 높은 곳에 있는 상자를 가장 낮은 곳으로 옮기는 작업을 덤프라고 정의한다.위의 예시에서 제1회 덤프를 수행한 이후 화면은 다음과 같다. A부분의 상자를 가장 낮은 B부분에 덤프하였으며, A대신 A’부분의 상자를 사용해도 무방..

[SWEA] 3142. 영준이와 신비한 뿔의 숲 D3 (자바)

3142. 영준이와 신비한 뿔의 숲 D3[문제] 영준이는 신비한 짐승들이 살고 있는 뿔의 숲을 지나왔다.이 숲에는 뿔이 한 개 달린 유니콘과 뿔이 두 개 달린 트윈혼이 살고 있다.영준이는 n개의 뿔과 m마리의 짐승을 보았다.영준이가 본 유니콘의 수와 트윈혼의 수는 몇 마리일까?만약 영준이가 5개의 뿔과 3마리의 짐승을 봤다면, 아래 그림과 같이 유니콘 1마리와 트윈혼 2마리였을 것이다.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스마다 첫 번째 줄에 두 정수 n, m (1 ≤ n ≤ 300, m ≤ n ≤ 2m)이 공백으로 구분되어 주어진다.[출력]각 테스트 케이스마다 영준이가 본 유니콘의 수와 트윈혼의 수를 공백으로 구분하여 출력한다.입력25 37 5//Test Case의 개수..

[SWEA] 11856. 반반 D3 (자바)

11856. 반반 D3[문제]길이 4의 알파벳 대문자로 이루어진 문자열 S가 주어졌을 때, S에 정확히 두 개의 서로 다른 문자가 등장하고, 각 문자가 정확히 두 번 등장하는 지 판별하라.[입력]첫 번째 줄에 테스트 케이스의 수 TC가 주어진다. 이후 TC개의 테스트 케이스가 새 줄로 구분되어 주어진다. 각 테스트 케이스는 다음과 같이 구성되었다. ∙ 첫 번째 줄에 문자열 S가 주어진다.[출력]각 테스트 케이스마다 ∙ 조건이 만족되면 “Yes”, 아니면 “No” 를 출력하라. 입력5ABABCCDDEFFEEEEENONE 출력#1 Yes#2 Yes#3 Yes#4 No#5 No [코드] import java.io.*;import java.util.*;public class Solution{ pub..

[SWEA] 5162. 두가지 빵의 딜레마 D3 (자바)

5162. 두가지 빵의 딜레마 D3[문제]은비는 빵을 좋아한다. “아 빵 먹고 싶다.” 은비는 자주 가는 빵집에서 두 가지 맛의 빵 밖에 먹지 않는다.하나는 현미 빵으로 하나에 A원에 팔고 있다.또 다른 하나는 단호박 빵으로 하나에 B원에 팔고 있다.은비는 지금 C원을 가지고 있으며, 어떤 빵이든 상관 없이 그냥 많은 개수의 빵을 사고 싶다.두 종류의 개수를 다르게 사도 되고, 한 종류의 빵만 사도 된다. 최대 몇 개의 빵을 살 수 있을까? [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 세 정수 A, B, C(1 ≤ A, B ≤ 103, 1 ≤ C ≤ 106)가 공백으로 구분되어 주어진다. [출력] 각 테스트 케이스마다 #T를 출력하고 한 칸을 띄운 후, 최대..

카테고리 없음 2025.05.17

[SWEA] 6692. 다솔이의 월급 상자 D3 (자바)

6692. 다솔이의 월급 상자 D3 [문제]다솔이가 다니는 회사는 이번 달부터 월급을 상자에 담아 주기로 했다.이 상자에는 의 확률로 만원이 들어 있다.다솔이가 받을 수 있는 월급의 평균은 얼마인지 구해보자.[입력]첫 번째 줄에 테스트 케이스의 수 가 주어진다.각 테스트 케이스의 첫 번째 줄에는 하나의 정수 이 주어진다.다음 N개의 줄의 번째 줄에는 하나의 실수 과 하나의 정수 가 공백으로 구분되어 주어진다.는 소수점 이하 여섯 자리까지의 수를 가질 수 있다. 의 총합은 1이다.[출력]각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고 한 칸을 띄운 후, 한 줄에 다솔이가 얻을 수 있는 월급의 평균을 출력한다.정답과의 절대오차 혹은 상대 오차가 이하이면 정답으로 ..

[SWEA] 8931. 제로 D3 (자바)

8931. 제로 D3\재현이는 재민이를 도와서 동아리 장부를 관리하고 있다.재현이는 영수증을 모아서 동아리의 지출 금액을 세고 있고, 재민이는 재현이가 부르는 액수를 순서대로 적고 있다.재현이는 가끔 잘못된 수를 부르는 실수를 하는데, 이 때마다 0을 외쳐서, 가장 최근에 재민이가 쓰고 지우지 않았던 수를 지우게 시킨다.재현이가 모든 수를 부른 후 재민이가 받아 적은 수의 합은 무엇일까? [입력] 첫 번째 줄에 테스트 케이스의 수 TC가 주어진다.각 테스트 케이스는 다음과 같이 구성되었다. 첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)이후 K개의 줄에 정수가 하나씩 주어진다. 정수는 0 이상 100000 이하의 값이다.만약 정수가 0일 경우에는 최근에 쓰고 지우지 않았던 수를 지워..

[SWEA] 14178. 1차원 정원 D3 (자바)

14178. 1차원 정원 D3[문제]1차원 수직선 위에 정원이 있다. 모든 정수 1 ≤ i ≤ N 에 대해, 좌표 i에 꽃이 하나씩 심겨 있다. 즉, 좌표 1, 2, …, N에 총 N개의 꽃이 심겨 있다.꽃에 물을 주기 위해 자동 분무기를 사용한다. 분무기는 정수 좌표에 놓을 수 있으며, 좌표 x에 분무기를 놓았을 경우 닫힌 구간 [x - D, x + D]에 심긴 모든 꽃들에 물을 줄 수 있다.N과 D가 주어질 때, 모든 꽃이 한 개 이상의 분무기에서 물을 받을 수 있도록 하기 위해 필요한 최소한의 분무기 수를 구하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 하나의 줄로 이루어진다. 각 줄에는 두 개의 정수 N과 D (1 ≤ N, D ≤ 100) 가 ..

[SWEA] 8821. 적고 지우기 D3 (자바)

8821. 적고 지우기 D3진수는 어린 동욱이에게 숫자 공부를 시키고 있다.진수는 숫자를 여러 번 말한다.그러면 동욱이는 진수가 부르는 숫자를 공책에 적거나 지운다.숫자를 적을 때는 공책에 그 숫자가 적혀 있지 않을 때이고,숫자를 지울 때는 공책에 그 숫자가 적혀 있을 때이다.처음 공책에는 어떤 숫자도 적혀 있지 않다고 할 때,마지막에 공책에 적힌 숫자의 개수를 구하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 ‘0’에서 ‘9’사이의 숫자로 이루어진길이 1이상 104이하의 문자열이 주어진다.문자열은 진수가 말하는 숫자를 순서대로 나타낸다.[출력]각 테스트 케이스마다 ‘#x’(x는 테스트케이스 번호를 의미하며 1부터 시작한다)를 출력하고,..

[SWEA] 4466. 최대 성적표 만들기 D3 (자바)

4466. 최대 성적표 만들기 D3당신은 N개의 과목에 대한 시험을 쳤다. 각 과목의 점수는 정수이고 만점은 100점이다.성적표에는 이 중에서 정확히 K개의 과목을 선택하여 넣을 수 있다. 당신은 기왕이면 성적표에 나타나는 총점이 가장 크도록 성적표를 만들고 싶다.최대로 만들 수 있는 총점은 몇점인지 구하여라. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 N,K(1≤K≤N≤100)이 공백 하나로 구분되어 주어진다.두 번째 줄에는 N개의 정수가 공백 하나로 구분되어 주어진다. 각 정수는 0 이상 100이하이다.[출력]각 줄마다 "#T" (T는 테스트 케이스 번호)를 출력한 뒤, 성적표에 표시될 총점의 최댓값을 출력한다. 입력23 1100 90 803 2100 ..