강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

sagara12님의 프로필 이미지
sagara12

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

3. 결혼식

소팅 부분을 직접 구현하는 형식으로 코드를 짜봤는데요..

작성

·

246

0

- 학습 관련 질문import java.util.*;

public class PracticeWedding {
public int solution(int number, List<List<String>> time){
int answer = 0;//

for (int i =0 ; i < number; i++){
List<String> schdule = time.get(i);
//시간 가져오기
String strTime = schdule.get(0);
//변환
int intTime = Integer.parseInt(strTime);
//state 가져오기
String state = schdule.get(1);

for (int j = i+1; j < number ; j++){
List<String> schdule2 = time.get(j);
//시간 가져오기
String strTime2 = schdule2.get(0);
//변환
int intTime2 = Integer.parseInt(strTime2);
//state 가져오기
String state2 = schdule2.get(1);
if (intTime > intTime2){
List<String>temp = new ArrayList<>();
temp = time.get(i);
time.set(i,time.get(j));
time.set(j,temp);

}else if (intTime == intTime2){

if (state.equals("e")&&state2.equals("s")){
List<String>temp2 = new ArrayList<>();
temp2 = time.get(j);
time.set(j,time.get(i));
time.set(i,temp2);
}
}
}
for (int z =1; z <time.size();z++){
System.out.print(time.get(z));
}
System.out.println(" ");
}

//e s 판별
for (int z=0; z<number; z++){
List<String> schdule = time.get(z);
String state = schdule.get(1);
if (state.equals("s")){
answer++;
}else {
answer--;
}
}
return answer;

}


public static void main(String[] args) {

PracticeWedding practice1 = new PracticeWedding();
System.out.println("결혼식에 참석할 인원 수를 입력해주세요");
Scanner intput = new Scanner(System.in);
String peoplNumber = intput.next();
List<List<String>>totalTimeArray = new ArrayList<>();
int number = Integer.parseInt(peoplNumber);
for (int i = 0; i < number; i++ ){

System.out.println(i+"번째 돌아가는 친구의 시간을 입력하시오");
Scanner scanner = new Scanner(System.in);
String totalTime = scanner.nextLine();
String[] array = totalTime.split(" ");
String startTime = array[0];
String endTime = array[1];
List<String> manScheduleS = new ArrayList<>();
manScheduleS.add(startTime);
manScheduleS.add("s");
totalTimeArray.add(manScheduleS);
List<String> manScheduleE = new ArrayList<>();
manScheduleE.add(endTime);
manScheduleE.add("e");
totalTimeArray.add(manScheduleE);
}
int Number = practice1.solution(number,totalTimeArray);
System.out.println("Number = " + Number);
}

오름차순 정렬도 직접 구현해서 코드를 짜봣는데...
오름차순 정렬 부분에서 아무리 봐봐도 뭐가 틀렸는지를 모르겠습니다... 혹시
알려주실수 있으신가요?

답변

답변을 기다리고 있는 질문이에요
첫번째 답변을 남겨보세요!
sagara12님의 프로필 이미지
sagara12

작성한 질문수

질문하기