remagine

알고리즘 풀기(3) 쉬운 면접문제 (약간 쉬움) 본문

알고리즘

알고리즘 풀기(3) 쉬운 면접문제 (약간 쉬움)

remagine 2017. 6. 26. 14:34

주어진 문자열(공백 없이 쉼표로 구분되어 있음)을 가지고 아래 문제에 대한 프로그램을 작성하세요.

이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌

  1. 김씨와 이씨는 각각 몇 명 인가요?
  2. "이재영"이란 이름이 몇 번 반복되나요?
  3. 중복을 제거한 이름을 출력하세요.
  4. 중복을 제거한 이름을 오름차순으로 정렬하여 출력하세요.
매우 쉽지만 이런 것도 할줄 알아야 하겠다. 

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
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
package dd;
 
import java.util.ArrayList;
import java.util.Collections;
import java.util.Scanner;
 
/**
 * @author Arthur
 *
 */
public class Main {
 
    public static void main(String[] args) {
 
        String names = "이유덕,이재영,권종표,이재영,박민호,강상희,이재영,김지완,최승혁,이성연,박영서,박민호,전경헌,송정환,김재성,이유덕,전경헌";
        String[] nameList = names.split(",");
        int count = 0;
        Main main = new Main();
 
        count = main.countLastName(count, nameList);
 
        System.out.println("김씨나 이씨 성인 사람의 수 :: " + count);
        count = 0;
 
        count = main.repeatName(count, nameList);
        System.out.println("이재영 반복 횟수 :: " + count);
 
        System.out.println(main.deleteRepeatList(nameList).toString());
 
        System.out.println(main.ascList(main.deleteRepeatList(nameList)).toString());
 
    }
 
    /**
     * @param count
     * @param nameList
     * @return
     */
    public int countLastName(int count, String[] nameList) {
 
        for (int i = 0; i < nameList.length; i++) {
 
            String lastName = nameList[i].substring(01);
            if (lastName.equals("이"|| lastName.equals("김")) {
                count++;
            }
        }
        return count;
    }
 
    /**
     * @param count
     * @param nameList
     * @return
     */
    public int repeatName(int count, String[] nameList) {
 
        for (int i = 0; i < nameList.length; i++) {
            String name = nameList[i];
            if (name.equals("이재영")) {
                count++;
            }
        }
        return count;
    }
 
    /**
     * @param nameList
     * @return
     */
    public ArrayList<String> deleteRepeatList(String[] nameList) {
 
        ArrayList<String> nameArray = new ArrayList<String>();
 
        for (int i = 0; i < nameList.length; i++) {
            if (!nameArray.contains(nameList[i])) {
                nameArray.add(nameList[i]);
            }
        }
        return nameArray;
    }
 
    /**
     * @param nameArray
     * @return
     */
    public ArrayList<String> ascList(ArrayList<String> nameArray) {
        Collections.sort(nameArray);
 
        return nameArray;
    }
}
cs
 


Comments