Module: AP 컴퓨터 과학 섹션 II 2014


Problem

1/3

AP Computer Science A 2014 자유 응답 질문 - scrambleWord

Problem

1. 이 질문은 대문자로 구성된 문자열에 대한 추론을 포함합니다. 동일한 클래스(표시되지 않음)에 나타나는 두 가지 관련 메서드를 구현합니다. 첫 번째 메서드는 단일 문자열 매개변수를 사용하고 해당 문자열의 뒤섞인 버전을 반환합니다. 두 번째 방법은 문자열 목록을 가져와서 목록의 각 항목을 스크램블링하여 목록을 수정합니다. 스크램블할 수 없는 항목은 목록에서 제거됩니다. 
a) scrambleWord 메서드를 작성하세요. 이 메서드는 주어진 단어를 받아서 다음 규칙에 따라 스크램블된 단어 버전을 포함하는 문자열을 반환합니다.
  • 뒤섞기 과정은 단어의 첫 글자에서 시작하여 왼쪽에서 오른쪽으로 계속됩니다. 
  • 두 개의 연속된 문자가 "A"로 구성된 경우 "A"가 아닌 문자가 뒤에 오면 결과 문자열에서 두 문자가 바뀝니다.
  • 인접한 두 위치의 문자가 교체되면 두 위치 중 어느 것도 향후 교체에 관여할 수 없습니다.
다음 표는 단어와 스크램블된 버전의 몇 가지 예를 보여줍니다. <몸>
아래의 완전한 방법 scrambleWord.

 /** 주어진 단어를 뒤섞습니다.
 * @param word 스크램블할 단어
 * @뒤섞인 단어 반환(단어와 같을 수 있음)
 * 전제 조건: 단어는 빈 문자열이거나 대문자만 포함합니다.
 * 사후 조건: 반환된 문자열은 다음과 같이 단어에서 생성되었습니다.
 * - 첫 글자부터 시작하여 왼쪽에서 오른쪽으로 단어가 섞였습니다.
 * - "A"로 구성된 두 개의 연속 문자 "A"가 아닌 문자가 뒤따릅니다. 교체되었습니다
 * - 문자가 최대 한 번 교체됨
<엠> */
 public 정적 문자열 scrambleWord(String 단어)

b) 매개 변수 wordList의 각 단어를 스크램블된 버전으로 바꾸고 스크램블링 후 변경되지 않은 단어를 제거하는 scrambleOrRemove 메서드를 작성합니다. wordList 항목의 상대적 순서는 scrambleOrRemove를 호출하기 전과 동일하게 유지됩니다.
다음 예는 scrambleOrRemove 호출의 결과로 wordList의 내용이 수정되는 방법을 보여줍니다.
scrambleOrRemove 호출 전:

단어 목록 
단어 scrambleWord(word)가 반환한 결과
"TAN" "TNA"
'아브라카다브라' "BARCADABARA"
"후아" "후아"
"AARDVARK" "ARADVRAK"
"달걀" "달걀"
"A" "A"
"" ""
<몸>
scrambleOrRemove 호출 후:
단어 목록
0 1 2 3 4
"TAN" "아브라카다브라" "후아" "애플" "달걀"
<몸>
0 1 2
"TAN" "BARCADABARA" "PAPLE"
Write the program below


                                
public static String scrambleWord(String word)
    {              
}
public static void scrambleOrRemove(List<String> wordList)
{              
}              


                                

     

Program check result

To check the solution of the problem, you need to register or log in!