프로그래머스 완료하지 못한 선수

import java.util.HashMap;
import java.util.Iterator;
import java.util.Set;

public class Main {
public static void main(String[] args){
	String[] participant = new String[5];
	String[] completion = new String[4];

	participant[0] = "marina";
	participant[1] = "josipa";
	participant[2] = "nikola";
	participant[3] = "vinko";
	participant[4] = "filipa";

	completion[0] = "josipa";
	completion[1] = "filipa";
	completion[2] = "marina";
	completion[3] = "nikola";

    HashMap <Integer, String> temp = new HashMap<>();
    for (int i=0; i< participant.length; i++)
    {
       temp.put(i,participant[i]);
    }
    Set set = temp.keySet();

    Iterator itr = set.iterator();
    int[] removeTarget = new int[100];
    
    for (int i=0;i<100;i++)
    	removeTarget[i]=-1;

    while(itr.hasNext()) {
	int key = (int)itr.next();

    for (int i=0; i< completion.length; i++) {
//		System.out.println(temp.get(key));
//		Syst/em.out.println(temp.values());

		if(temp.get(key) == completion[i])
			//temp.remove(key);
			//지우는 대신 추가.
			// 표시
			removeTarget[i]=key;
//			 System.out.println(temp.values());
    }
    }
    for(int i=0;i<100;i++) {
    	//System.out.println(removeTarget[i]);
    	if(removeTarget[i] >= 0)
			temp.remove(removeTarget[i]);
    }
    HashMap.Entry<Integer, String> entry = temp.entrySet().iterator().next();
    System.out.println(temp.get(entry.getKey()));
}
}

hashmap을 추가한 다음 비교하여 바로 지우고 싶었다. 그러나 ConcurrentModificationException이 중단시켰다. 여러 삽질 후 표기를 하여 나중에 한번에 지웠다. 이상한 점은 eclipse는 잘 되는데, 프로그래머스 컴파일은 잘 안된다. 나 말고도 여러 사람 그런 듯 하다.

level 1인데 시간을 너무 많이 걸렸다.

코멘트

댓글 남기기

이 사이트는 Akismet을 사용하여 스팸을 줄입니다. 댓글 데이터가 어떻게 처리되는지 알아보세요.