SWEA(SWExpertacAdemy) 61

[SWEA] 1486. 장훈이의 높은 선반 D4 (자바)

1486. 장훈이의 높은 선반 D4 [문제] 장훈이는 서점을 운영하고 있다.서점에는 높이가 B인 선반이 하나 있는데 장훈이는 키가 매우 크기 때문에, 선반 위의 물건을 자유롭게 사용할 수 있다.어느 날 장훈이는 자리를 비웠고, 이 서점에 있는 N명의 점원들이 장훈이가 선반 위에 올려놓은 물건을 사용해야 하는 일이 생겼다.각 점원의 키는 Hi로 나타나는데, 점원들은 탑을 쌓아서 선반 위의 물건을 사용하기로 하였다.점원들이 쌓는 탑은 점원 1명 이상으로 이루어져 있다.탑의 높이는 점원이 1명일 경우 그 점원의 키와 같고, 2명 이상일 경우 탑을 만든 모든 점원의 키의 합과 같다.탑의 높이가 B 이상인 경우 선반 위의 물건을 사용할 수 있는데 탑의 높이가 높을수록 더 위험하므로 높이가 B 이상인 탑 중에서 높..

[swea] 1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 D4 (자바)

1218. [S/W 문제해결 기본] 4일차 - 괄호 짝짓기 D4[문제] 4 종류의 괄호문자들 '()', '[]', '{}', '' 로 이루어진 문자열이 주어진다.이 문자열에 사용된 괄호들의 짝이 모두 맞는지 판별하는 프로그램을 작성한다.예를 들어 아래와 같은 문자열은 유효하다고 판단할 수 있다.아래와 같은 문자열은 유효하지 않은 문자열이다. 붉은색으로 표시된 괄호의 짝을 찾을 수 없기 때문이다.아래 문자열은 열고 닫는 괄호의 개수는 유효하나 짝이 맞지 않는 괄호가 사용 되었기 때문에 유효하지 않다.[입력]각 테스트 케이스의 첫 번째 줄에는 테스트케이스의 길이가 주어지며, 바로 다음 줄에 테스트 케이스가 주어진다.총 10개의 테스트케이스가 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공..

[SWEA] 1222. [S/W 문제해결 기본] 6일차 - 계산기1 D4 (자바)

1222. [S/W 문제해결 기본] 6일차 - 계산기1 D4[문제]문자열로 이루어진 계산식이 주어질 때, 이 계산식을 후위 표기식으로 바꾸어 계산하는 프로그램을 작성하시오.예를 들어“3+4+5+6+7”라는 문자열로 된 계산식을 후위 표기식으로 바꾸면 다음과 같다."34+5+6+7+"변환된 식을 계산하면 25를 얻을 수 있다.문자열 계산식을 구성하는 연산자는 + 하나뿐이며 피연산자인 숫자는 0 ~ 9의 정수만 주어진다.[입력]각 테스트 케이스의 첫 번째 줄에는 문자열 계산식의 길이가 주어진다. 그 다음 줄에 문자열 계산식이 주어진다.총 10개의 테스트 케이스가 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 답을 출력한다.입력1019+8+5+9+2+4+1+8+3+9+3+8+7..

[SWEA] 22979. 문자열 옮기기 D3 (자바)

22979. 문자열 옮기기 D3[문제]문자열 S에 다음과 같은 연산을 몇 번 적용할 것이다.각각의 연산은 정수 X로 표현되며, X에 따라 문자열 S가 아래와 같이 변한다. · X > 0이면, S의 첫 번째 글자를 떼네어 마지막 글자 뒤에 붙이는 작업을 정확히 X회 반복한다.· X 이면, S의 마지막 글자를 떼네어 첫 번째 글자 앞에 붙이는 작업을 정확히 -X회 반복한다.· X = 0이면, 아무 일도 일어나지 않는다. 모든 연산이 종료된 후 문자열 S를 출력하는 프로그램을 작성하라. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스는 세 개의 줄로 이루어진다. 첫 번째 줄에는 문자열 S가 주어진다. S는 알파벳 소문자로만 구성되며, 길이가 1 이상 1,000 이하이다. 두 번째 줄..

[SWEA] 9778. 카드 게임 D3 (자바)

9778. 카드 게임 D3[문제]카드 게임을 좋아하는 승현이는 요즘 블랙잭에 빠져 있다. 잘생긴 승현이와 함께 블랙잭의 규칙을 알아보자! 블랙잭을 처음 시작할 때, 덱에는 2, 3, 4, 5, 6, 7, 8, 9의 가치를 가지는 카드가 각각 4장,11의 가치를 가지는 카드(Ace) 4장, 10의 가치를 가지는 카드 16장 (Ten, Jack, Queen, King), 총 52장의 카드가 올려져 있다. 맨 처음에 모든 카드는 가치를 알 수 없게 뒤집어져 있다.승현이는 선택한 카드들의 가치의 합이 21을 넘지 않으면서도 가능한 가치의 합이 커지도록 카드를 뽑고 싶다. 지금 승현이는 이미 N장의 카드를 뽑아서 덱에는 52-N장의 카드가 남아 있으며, 승현이는 여기서 카드를 한 장 더 뽑을 지 말지 고민하고..

20551. 증가하는 사탕 수열 D3

20551. 증가하는 사탕 수열 D3문제세현이는 세 개의 상자를 나란히 세워 놓았다. 첫 번째 상자에는 사탕 A개, 두 번째 상자에는 사탕 B개, 세 번째 상자에는 사탕 C개가 들어 있다.세현이는 각 상자에 들어 있는 사탕의 개수가 순증가하기를 원한다. 즉, 두 번째 상자에 들어 있는 사탕의 개수가 첫 번째 상자에 들어 있는 사탕의 개수보다 더 많기를 원하고, 세 번째 상자에 들어 있는 사탕의 개수가 두 번째 상자에 들어 있는 사탕의 개수보다 더 많기를 원한다.또한, 세현이는 모든 상자가 비어 있지 않기를 원한다. 즉, 모든 상자에 1개 이상의 사탕이 들어 있기를 원한다.세현이가 이 두 조건을 만족시키기 위해 할 수 있는 일은, 상자 속에 들어 있는 사탕을 (0개 이상) 먹어 없애 버리는 것이다. 세현이..

[SWEA] 7087. 문제 제목 붙이기 D3 (자바)

7087. 문제 제목 붙이기 D3[문제] 매번 혼자서 알고리즘 문제를 풀던 은기와 자영이는, 많은 사람들의 즐거움을 주기 위해 프로그래밍 대회를 개최하려고 한다.은기와 자영이는 대회에 사용할 문제를 준비하는 과정에서 문제 제목을 정하게 되었다.은기는 대회의 문제들에 사용할 수 있는 제목을 N개 만들었다.자영이는 제목의 가장 앞 글자에 알파벳 대문자 A부터 시작하여, A, B, C, … , Z가 순서대로 한 번씩 등장하면 좋겠다고 하였다.만약 도중에 특정 알파벳이 문제 제목의 맨 앞 글자로 등장하지 않으면 그 이후의 알파벳은 사용하지 않는다.예를 들어, 문제 제목으로 Air, Dad, Ear, Blue, Ace가 있다면, A와 B는 등장하였지만, C는 등장하지 않았기 때문에 최대 2개의 문제 제목을 사용할..

[SWEA] 1209. [S/W 문제해결 기본] 2일차 - Sum D3 (자바)

1209. [S/W 문제해결 기본] 2일차 - Sum D3[문제]다음 100X100의 2차원 배열이 주어질 때, 각 행의 합, 각 열의 합, 각 대각선의 합 중 최댓값을 구하는 프로그램을 작성하여라.다음과 같은 5X5 배열에서 최댓값은 29이다.[제약 사항]총 10개의 테스트 케이스가 주어진다.배열의 크기는 100X100으로 동일하다.각 행의 합은 integer 범위를 넘어가지 않는다.동일한 최댓값이 있을 경우, 하나의 값만 출력한다. [입력]각 테스트 케이스의 첫 줄에는 테스트 케이스 번호가 주어지고 그 다음 줄부터는 2차원 배열의 각 행 값이 주어진다.[출력]#부호와 함께 테스트 케이스의 번호를 출력하고, 공백 문자 후 테스트 케이스의 답을 출력한다.입력113 24 13 24 1 7 24 11 22 ..

[SWEA] 10912. 외로운 문자 D3 (자바)

10912. 외로운 문자 D3[문제]알파벳 소문자 만으로 이루어진 문자열이 주어진다.이 문자열에서 같은 두 문자들을 짝짓고 남는 문자가 무엇인지 구하는 프로그램을 작성하라.같은 문자를 여러 번 짝지어서는 안 된다. [입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 알파벳 소문자 만으로 이루어진 문자열이 주어진다.이 문자열의 길이는 1이상 100이하이다. [출력]각 테스트 케이스 마다 예제와 같은 형식으로 남는 문자를 사전 순서대로 출력한다.만약 어떤 문자도 남지 않는다면 “Good”을 출력하도록 한다.입력 출력#1 Good#2 cy#3 b#4 abc#5 z#6 mn // 첫번째 테스트 케이스의 답[코드]import java.io.*;import java.uti..

[SWEA] 5789. 현주의 상자 바꾸기 D3 (자바)

5789. 현주의 상자 바꾸기 D3[문제] 현주는 1번부터 N번까지 N개의 상자를 가지고 있다. 각 상자에는 숫자를 새길 수 있는데 처음에는 모두 0으로 적혀있다.숫자가 너무 단조로웠던 현주는 다음 Q회 동안 일정 범위의 연속한 상자를 동일한 숫자로 변경하려고 한다. 변경하는 방법은 다음과 같다. · i (1 ≤ i ≤ Q)번째 작업에 대해 L번 상자부터 R번 상자까지의 값을 i로 변경현주가 Q회 동안 위의 작업을 순서대로 한 다음 N개의 상자에 적혀있는 값들을 순서대로 출력하는 프로그램을 작성하라.[입력]첫 번째 줄에 테스트 케이스의 수 T가 주어진다.각 테스트 케이스의 첫 번째 줄에는 두 정수 N, Q (1 ≤ N, Q ≤ 103)가 공백으로 구분되어 주어진다.다음 Q개의 줄의 i번째 줄에는 L..