알고리즘

[프로그래머스] 완주하지 못한 선수

건뱅 2019. 4. 11.
반응형

오랜만의 포스팅!~~

이번주부터 일주일에 2회 알고리즘문제를 풀기로 결심하고 첫번째 포스팅이다.

알고리즘 문제는 '프로그래머스' 와 '정올' 에서 가져와 풀어볼 생각인데, 오늘은 프로그래머스의 '완주하지 못한 선수'라는 문제를 풀어보았다.

 

<문제 본문>

 

<작성코드>

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
 
 
public class Solution {
 
    public static String solution(String[] participant, String[] completion) {
        String answer = "";
 
        //해시맵 선언
        Map<Integer, String> partMap = new HashMap<Integer, String>(); 
        Map<Integer, String> compMap = new HashMap<Integer, String>();
        int cnt1 = 1;
        int cnt2 = 1;
        for (String part : participant) { // for(변수:배열) ; 배열에 있는 값들을 하나씩 변수에 대입시키겠다.
            partMap.put(cnt1, part);
            cnt1++;
        }
        for (String comp : completion) {
            compMap.put(cnt2, comp);
            cnt2++;
        }
 
        for (int i = 1; i <= participant.length; i++) {
            int c = 0;
            for (int j = 1; j <= completion.length; j++) {
                if (partMap.get(i).equals(compMap.get(j))) // 참여자 중 완주자 명단에 있으면 삭제
 
                    partMap.replace(i, "confirm");
                    compMap.replace(j, "confirm");
                    //또는 
//                    partMap.remove(i);
//                    compMap.remove(j);
                    break;
                } else { //명단에없으면 c값증가
 
                    c++;
 
                }
            }
 
            if (c == (completion.length)) { //c값이 완주자 수와 같으면 완주자명단에 없는 사람
                answer = partMap.get(i);
            }
        }
        return answer;
    }
 
    public static void main(String[] args) {
 
        String[] p = { "keonho""wooju""minyoop""kangil""keonho""keonho" }; // 마라톤 참여 선수들의 명단
        String[] c = { "keonho""minyoop""kangil""keonho""keonho" }; // 마라톤 완주 선수들의 명단
        System.out.println("완주하지 못한 사람: "+solution(p, c)); // 결과창 출력
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#e5e5e5; text-decoration:none">Colored by Color Scripter
 

 

<실행결과>

 

결과는 잘나오지만,,, 효율성 테스트에서 0점이 나왔다.

무엇이부족한지 연구가 필요하다. ^^

반응형

댓글