반응형
오랜만의 포스팅!~~
이번주부터 일주일에 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
|
package com.java.solution;
import java.util.HashMap;
import java.util.Map;
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(변수:배열) ; 배열에 있는 값들을 하나씩 변수에 대입시키겠다.
cnt1++;
}
for (String comp : completion) {
cnt2++;
}
for (int i = 1; i <= participant.length; i++) {
int c = 0;
for (int j = 1; j <= completion.length; j++) {
partMap.replace(i, "confirm");
compMap.replace(j, "confirm");
//또는
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점이 나왔다.
무엇이부족한지 연구가 필요하다. ^^
반응형
'알고리즘' 카테고리의 다른 글
[프로그래머스] 콜라츠 추측 (0) | 2019.04.26 |
---|---|
[프로그래머스] 시저암호 (2) | 2019.04.23 |
[프로그래머스] 나누어 떨어지는 숫자 배열 (4) | 2019.04.18 |
[프로그래머스] 두 정수 사이의 합 (2) | 2019.04.17 |
[프로그래머스] 가운데 글자 가져오기 (1) | 2019.04.12 |
댓글