D3 39

[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..

[SWEA] 4676. 늘어지는 소리 만들기 D3 (자바)

4676. 늘어지는 소리 만들기 D3 [문제] 단어의 중간에 ‘-’(하이픈)을 넣어 늘어지는 소리를 표현해보자.예를 들어 “wow”같은 문자열에서 두 번째 문자 ‘o’의 뒤편에 두 개의 하이픈을, 세 번째 문자 ‘w’의 뒤편에 한 개의 하이픈을 넣는다고 해보자. 그러면 문자열은 “wo--w-“가 될 것이다.알파벳 소문자로 이루어진 문자열과 어떤 문자의 뒤편에 하이픈을 넣을 지 여부가 주어질 때 하이픈을 모두 넣고 나면 문자열이 어떻게 되는지 출력하는 프로그램을 작성하라. [입력]첫 번째 줄에 테스트 케이스의 수 T(T ≤ 1000)가 주어진다.각 테스트 케이스의 첫 번째 줄에는 길이가 1이상 20이하인 문자열이 주어진다. 이 문자열은 알파벳 소문자만으로 이루어져 있다. 이 문자열의 길이를 L이라고 하자...

[swea] 7985. Rooted Binary Tree 재구성 D3 (자바)

7985. Rooted Binary Tree 재구성 D3[문제] 성삼 회사에서 마지막 면접을 보게 된 당신에게 Rooted Binary Tree 재구성이라는 미션으로 주었다.먼저 Rooted tree란 트리의 정점 중 하나가 root로 정해지고 간선의 양 끝점이 부모, 자식 관계를 맺게 만든 것이다.Rooted binary tree는 그 중에서 이진 트리(binary tree)를 의미한다.주어지는 정보는 tree를 중위 순회(inorder traversal)한 결과이다.일반적으로 중위 순회(inorder traversal)를 통해 기존의 트리를 완벽히 복구하는 것이 불가능하다.가능한 경우가 다양하기 때문이다.따라서 성삼 회사에서는 tree가 항상 완전 이진 트리를 제공한다고 하였다.높이가 K이며 정점의 ..

[swea] 1221. [S/W 문제해결 기본] 5일차 - GNS D3 (자바)

1221. [S/W 문제해결 기본] 5일차 - GNS D3 [문제]숫자 체계가 우리와 다른 어느 행성이 있다. 아래는 이 행성에서 사용하는 0 ~ 9의 값을 순서대로 나타낸 것이다."ZRO", "ONE", "TWO", "THR", "FOR", "FIV", "SIX", "SVN", "EGT", "NIN"0 ~ 9 의 값을 나타내는 단어가 섞여 있는 문자열을 받아 작은 수부터 차례로 정렬하여 출력하는 프로그램을 작성하라.예를 들어 입력 문자열이 "TWO NIN TWO TWO FIV FOR" 일 경우 정렬한 문자열은 "TWO TWO TWO FOR FIV NIN" 이 된다.[입력]입력 파일의 첫 번째 줄에는 테스트 케이스의 개수가 주어진다.그 다음 줄에 #기호와 함께 테스트 케이스의 번호가 주어지고 공백 문자 ..