ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 카카오 신입 공채 1차 코딩 테스트, 테스트 케이스
    공부 2017. 12. 4. 16:27
    반응형

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 1. 비밀지도(난이도: 하) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 2. 다트 게임(난이도: 하) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 3. 캐시(난이도: 하) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 4.셔틀버스(난이도: 중) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 5. 뉴스 클러스터링(난이도: 중) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 6. 프렌즈4블록(난이도: 상) (Python)

    2017/12/04 - [공부] - 카카오 신입 공채 1차 코딩 테스트 문제 7. 추석 트래픽(난이도: 상) (Python)



    정답 확인을 해볼 수 있는 테스트 코드까지 첨부한다.

    모든 파일들을 같은 폴더에, 각 팔일의 이름을 Q1~Q7로 저장하고 아래 테스트 파일을 실행시키면 된다.

    Java로 작성한 코드를 Python으로 옮겨 작성하는 과정에서 불필요한 내용들을 제거하여 콘솔 출력 등은 전혀 없다.


    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
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    from unittest import TestCase
    from Q1 import question1
    from Q2 import question2
    from Q3 import question3
    from Q4 import question4
    from Q5 import question5
    from Q6 import question6
    from Q7 import question7
     
     
    class TestQuestion1(TestCase):
        def testCase_Q1_01(self):
            arr1 = [920281811]
            arr2 = [301211728]
            expected_out = ["#####""# # #""### #""#  ##""#####"]
            self.assertEqual(expected_out, question1(5, arr1, arr2))
     
        def testCase_Q1_02(self):
            arr1 = [463333223150]
            arr2 = [275619141410]
            expected_out = ["######""###  #""##  ##"" #### "" #####""### # "]
            self.assertEqual(expected_out, question1(6, arr1, arr2))
     
     
    class TestQuestion2(TestCase):
        def testCase_Q2_01(self):
            dart_result = "1S2D*3T"
            answer = 37
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_02(self):
            dart_result = "1D2S#10S"
            answer = 9
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_03(self):
            dart_result = "1D2S0T"
            answer = 3
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_04(self):
            dart_result = "1S*2T*3S"
            answer = 23
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_05(self):
            dart_result = "1D#2S*3S"
            answer = 5
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_06(self):
            dart_result = "1T2D3D#"
            answer = -4
            self.assertEqual(answer, question2(dart_result))
     
        def testCase_Q2_07(self):
            dart_result = "1D2S3T*"
            answer = 59
            self.assertEqual(answer, question2(dart_result))
     
     
    class TestQuestion3(TestCase):
        def testCase_Q3_01(self):
            cache_size = 3
            cities = ["Jeju""Pangyo""Seoul""NewYork""LA""Jeju",
                      "Pangyo""Seoul""NewYork""LA"]
            expected_out = 50
            self.assertEqual(expected_out, question3(cache_size, cities))
     
        def testCase_Q3_02(self):
            cache_size = 3
            cities = ["Jeju""Pangyo""Seoul""Jeju""Pangyo""Seoul",
                      "Jeju""Pangyo""Seoul"]
            expected_out = 21
            self.assertEqual(expected_out, question3(cache_size, cities))
     
        def testCase_Q3_03(self):
            cache_size = 2
            cities = ["Jeju""Pangyo""Seoul""NewYork""LA""SanFrancisco",
                      "Seoul""Rome""Paris""Jeju""NewYork"" Rome"]
            expected_out = 60
            self.assertEqual(expected_out, question3(cache_size, cities))
     
        def testCase_Q3_04(self):
            cache_size = 5
            cities = ["Jeju""Pangyo""Seoul""NewYork""LA""SanFrancisco",
                      "Seoul""Rome""Paris""Jeju""NewYork""Rome"]
            expected_out = 52
            self.assertEqual(expected_out, question3(cache_size, cities))
     
     
    class TestQuestion4(TestCase):
        def testCase_Q4_01(self):
            n = 1
            t = 1
            m = 5
            time_table = ["08:00""08:01""08:02""08:03"]
            answer = "09:00"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
        def testCase_Q4_02(self):
            n = 2
            t = 10
            m = 2
            time_table = ["09:10""09:09""08:00"]
            answer = "09:09"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
        def testCase_Q4_03(self):
            n = 2
            t = 1
            m = 2
            time_table = ["09:00""09:00""09:00""09:00"]
            answer = "08:59"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
        def testCase_Q4_04(self):
            n = 1
            t = 1
            m = 5
            time_table = ["00:01""00:01""00:01""00:01""00:01"]
            answer = "00:00"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
        def testCase_Q4_05(self):
            n = 1
            t = 1
            m = 1
            time_table = ["23:59"]
            answer = "09:00"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
        def testCase_Q4_05(self):
            n = 10
            t = 60
            m = 45
            time_table = ["23:59""23:59""23:59""23:59""23:59""23:59",
                          "23:59""23:59""23:59""23:59""23:59",
                          "23:59""23:59""23:59""23:59""23:59"]
            answer = "18:00"
            self.assertEqual(answer, question4(n, t, m, time_table))
     
     
    class TestQuestion5(TestCase):
        def testCase_Q5_01(self):
            self.assertEqual(16384, question5("FRANCE""french"))
     
        def testCase_Q5_02(self):
            self.assertEqual(65536, question5("handshake""shake hands"))
     
        def testCase_Q5_03(self):
            self.assertEqual(43690, question5("aa1+aa2""AAAA12"))
     
        def testCase_Q5_04(self):
            self.assertEqual(65536, question5("E=M*C^2""e=m*c^2"))
     
     
    class TestQuestion6(TestCase):
        def testCase_q6_01(self):
            m = 4
            n = 5
            board = ["CCBDE""AAADE""AAABF""CCBBF"]
            self.assertEqual(14, question6(m, n, board))
     
        def testCase_q6_02(self):
            m = 6
            n = 6
            board = ["TTTANT""RRFACC""RRRFCC""TRRRAA""TTMMMF""TMMTTJ"]
            self.assertEqual(15, question6(m, n, board))
     
     
    class TestQuestion7(TestCase):
        def testCase_Q7_01(self):
            line = ["2016-09-15 01:00:04.001 2.0s""2016-09-15 01:00:07.000 2s"]
            self.assertEqual(1, question7(line));
     
        def testCase_Q7_02(self):
            line = ["2016-09-15 01:00:04.002 2.0s""2016-09-15 01:00:07.000 2s"]
            self.assertEqual(2, question7(line));
     
        def testCase_Q7_02(self):
            line = ["2016-09-15 20:59:57.421 0.351s",
                    "2016-09-15 20:59:58.233 1.181s",
                    "2016-09-15 20:59:58.299 0.8s",
                    "2016-09-15 20:59:58.688 1.041s",
                    "2016-09-15 20:59:59.591 1.412s",
                    "2016-09-15 21:00:00.464 1.466s",
                    "2016-09-15 21:00:00.741 1.581s",
                    "2016-09-15 21:00:00.748 2.31s",
                    "2016-09-15 21:00:00.966 0.381s",
                    "2016-09-15 21:00:02.066 2.62s"]
            self.assertEqual(7, question7(line));
     
    cs


    반응형
Designed by Tistory.