2017-11-08 2 views
0

나는 다음과 같은 문제를 해결하기 위해 노력하고있어 : https://codecon.bloomberg.com/challenger-series/33블룸버그 세탁 일 - 목록에서 항목을 계산 쌍 양말을 확인하고 모든 항목을 구성 순으로

입력 사양

의류의 각 기사의 뜻을 그것의 자신의 분리 된 선이있다. 당신은 쌓아 올리는 경향이 있으므로 조각 수에 대한 보장은 없지만 각 기사가 설명 (이름)으로 쉽게 분류 될 수 있음을 확신 할 수 있습니다.

의류 품목은 라인으로 구분 된 목록으로 제공됩니다. 예제는 아래를 참조하십시오.

출력 사양은

출력 (대소 문자 구분) 분류, 자신의 계산과 함께 의류의 제품 라인으로 구분 된 목록 순으로을해야합니다. 각 필드 (개수, 카테고리)는 파이프 (|)로 구분해야합니다. 소울 메이트가없는 양말을 발견하면 카운트는 0으로 지정해야합니다. 쌍으로있는 양말은 쌍이없는 동일한 카테고리의 양말과는 별도의 줄에 있어야하며 쌍이없는 양말 앞에 와야합니다. 예제는 아래를 참조하십시오.

샘플 입력/출력

INPUT

white shirt 
polka dot sock 
red sock 
superhero shirt 
torn jeans 
polka dot sock 
white shirt 
polka dot sock 

OUTPUT

1|polka dot sock 
0|polka dot sock 
0|red sock 
1|superhero shirt 
1|torn jeans 
2|white shirt 

샘플 테스트 케이스를 통과하는 용액 (https://codereview.stackexchange.com/questions/179931/bloomberg-laundry-day-count-items-in-list-check-socks-for-pairs-and-organize)하려고 시도한 (위) 그러나 실패한 secr 테스트 케이스.

그래서 입력 및 출력 사양에서 추출해야하는 추가 정보가 궁금합니다. 예를 들어, 나는 자신의 의복과 관련 개수를 TreeMap에 저장하려고 합니다만, 먼저 흰 셔츠가 흰 셔츠와 같은 것이라고 생각하기 때문에 옷 설명을 작은 대문자로 변환합니다. 하지만 난 다른 것들을 시도했습니다 - (a) 원래의 문자열을 저장하고 내 트리 맵에 CASE_INSENSITIVE_ORDER를 사용하고 (b) HashMap에 원래 문자열과 그 문자열의 수를 저장하고 모든 고유 한 원본을 저장하려고했습니다. 문자열을 ArrayList에 저장 한 다음 끝에있는 모든 원래 문자열을 CASE_INSENSITIVE_ORDER별로 정렬 한 다음이 순서를 사용하여 결과를 인쇄합니다. 이러한 각각의 시도는 샘플 테스트 케이스에서 성공하고 일부 비밀 테스트가 실패합니다.

어떻게이 유용한 테스트를 작성할 수 있습니까? 빈 입력의 구석을 시도하고 프로그램이 예상대로 작동합니다. 그 밖의 무엇을 찾을 수 있습니까? 귀하의 예제 코드에서

답변

0

는 :

String clothingItem = stdin.nextLine().toLowerCase(); 
incrementCount(clothingCount, clothingItem); 

그것은 당신이 원래의 문자열을 소문자 문자열을 저장하지 것 같습니다. 질문은 대소 문자를 구분하지 않는 것처럼 원래 문자열을 요구합니다.

+0

감사합니다. 나는 이것을 시도했다고 생각했지만, 다시 시도해 보았습니다! – ArbitraryGenera