-
카카오 신입 공채 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으로 옮겨 작성하는 과정에서 불필요한 내용들을 제거하여 콘솔 출력 등은 전혀 없다.
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193from unittest import TestCasefrom Q1 import question1from Q2 import question2from Q3 import question3from Q4 import question4from Q5 import question5from Q6 import question6from Q7 import question7class TestQuestion1(TestCase):def testCase_Q1_01(self):arr1 = [9, 20, 28, 18, 11]arr2 = [30, 1, 21, 17, 28]expected_out = ["#####", "# # #", "### #", "# ##", "#####"]self.assertEqual(expected_out, question1(5, arr1, arr2))def testCase_Q1_02(self):arr1 = [46, 33, 33, 22, 31, 50]arr2 = [27, 56, 19, 14, 14, 10]expected_out = ["######", "### #", "## ##", " #### ", " #####", "### # "]self.assertEqual(expected_out, question1(6, arr1, arr2))class TestQuestion2(TestCase):def testCase_Q2_01(self):dart_result = "1S2D*3T"answer = 37self.assertEqual(answer, question2(dart_result))def testCase_Q2_02(self):dart_result = "1D2S#10S"answer = 9self.assertEqual(answer, question2(dart_result))def testCase_Q2_03(self):dart_result = "1D2S0T"answer = 3self.assertEqual(answer, question2(dart_result))def testCase_Q2_04(self):dart_result = "1S*2T*3S"answer = 23self.assertEqual(answer, question2(dart_result))def testCase_Q2_05(self):dart_result = "1D#2S*3S"answer = 5self.assertEqual(answer, question2(dart_result))def testCase_Q2_06(self):dart_result = "1T2D3D#"answer = -4self.assertEqual(answer, question2(dart_result))def testCase_Q2_07(self):dart_result = "1D2S3T*"answer = 59self.assertEqual(answer, question2(dart_result))class TestQuestion3(TestCase):def testCase_Q3_01(self):cache_size = 3cities = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "Jeju","Pangyo", "Seoul", "NewYork", "LA"]expected_out = 50self.assertEqual(expected_out, question3(cache_size, cities))def testCase_Q3_02(self):cache_size = 3cities = ["Jeju", "Pangyo", "Seoul", "Jeju", "Pangyo", "Seoul","Jeju", "Pangyo", "Seoul"]expected_out = 21self.assertEqual(expected_out, question3(cache_size, cities))def testCase_Q3_03(self):cache_size = 2cities = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco","Seoul", "Rome", "Paris", "Jeju", "NewYork", " Rome"]expected_out = 60self.assertEqual(expected_out, question3(cache_size, cities))def testCase_Q3_04(self):cache_size = 5cities = ["Jeju", "Pangyo", "Seoul", "NewYork", "LA", "SanFrancisco","Seoul", "Rome", "Paris", "Jeju", "NewYork", "Rome"]expected_out = 52self.assertEqual(expected_out, question3(cache_size, cities))class TestQuestion4(TestCase):def testCase_Q4_01(self):n = 1t = 1m = 5time_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 = 2t = 10m = 2time_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 = 2t = 1m = 2time_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 = 1t = 1m = 5time_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 = 1t = 1m = 1time_table = ["23:59"]answer = "09:00"self.assertEqual(answer, question4(n, t, m, time_table))def testCase_Q4_05(self):n = 10t = 60m = 45time_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 = 4n = 5board = ["CCBDE", "AAADE", "AAABF", "CCBBF"]self.assertEqual(14, question6(m, n, board))def testCase_q6_02(self):m = 6n = 6board = ["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 반응형