숫자를 입력받아 1부터 N까지 출력하며 3,6,9가 들어가면 박수를 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 [TC1] 입력 : 10 출력 : 1 2 - 4 5 - 7 8 - 10 해결 과정 숫자마다 문자열로 바꾸고, 리스트에 하나씩 떼어 넣어 각 자리수에 3/6/9가 들어가 있을 때와 아닐 때로 나누어 해결하였다. 코드 N = int(input()) for i in range(1, N + 1): str_num = list(str(i)) if '3' in str_num or '6' in str_num or '9' in str_num: temp = '' for j in r..
Coding Test/SWEA
문자열을 입력 받아 문제 제시 방법대로 해석한 문자열을 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 더보기 [TC1] 입력 : TGlmZSBpdHNlbGYgaXMgYSBxdW90YXRpb24u 출력 : Life itself is a quotation. [TC2] 입력 : U3VzcGljaW9uIGZvbGxvd3MgY2xvc2Ugb24gbWlzdHJ1c3Qu 출력 : Suspicion follows close on mistrust. [TC3] 입력 : VG8gZG91YnQgaXMgc2FmZXIgdGhhbiB0byBiZSBzZWN1cmUu 출력 : To doubt is safe..
입력 받은 지도에서 최단 거리를 구하여 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 더보기 [TC1] 입력 : 4 0100 1110 1011 1010 출력 : 2 [TC2] 입력 : 6 011001 010100 010011 101001 010101 111010 출력 : 2 해결 과정 처음 문제를 DFS로 풀었지만, SWEA 홈페이지에서는 메모리 초과로 떴다. 그래서 BFS로 접근하여 최단 거리를 구하는 알고리즘인 다익스트라를 이용했다. 코드 T = int(input()) def bfs(j, i): global visited, map_, dx, dy, N visited[j][..
주어진 숫자를 서로 교환하여, 모두 교환했을 때 가장 큰 수를 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 [TC1] 입력 : 123 1 출력 : 321 [TC2] 입력 : 2737 1 출력 : 7732 [TC3] 입력 : 32888 1 출력 : 88832 해결 과정 처음 문제를 풀 때는 경우의 수를 고려하여 조건을 설정하면 풀 수 있겠구나 했는데 생각보다 조건이 많고, for문을 여러번 사용해야 해서 시간 초과가 됐다. 그래서 DFS를 이용하여 모든 경우의 수를 다 구하고, 최대값을 계속 갱신하는 방법을 풀었다. 코드 T = int(input()) def dfs(start..
1차원 배열로 건물의 높이를 입력받고, 높이 평탄화 작업 후, 최고값과 최소값의 차를 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 더보기 [TC1] 입력 : 834 42 68 35 1 70 25 79 59 63 65 6 46 82 28 62 92 96 43 28 37 92 5 3 54 93 83 22 17 19 96 48 27 72 39 70 13 68 100 36 95 4 12 23 34 74 65 42 12 54 69 48 45 63 58 38 60 24 42 30 79 17 36 91 43 89 7 41 43 65 49 47 6 91 30 71 51 7 2 94 49 ..
2차원 배열의 수들을 입력받아, N크기의 정사각형의 최대값을 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 더보기 [TC1] 입력 : 5 2 1 3 3 6 7 8 13 9 12 8 4 16 11 12 6 2 4 1 23 2 9 13 4 7 3 출력 : 49 해설 : 13 + 9 + 16 + 11 = 49 [TC2] 입력 : 6 3 29 21 26 9 5 8 21 19 8 0 21 19 9 24 2 11 4 24 19 29 1 0 21 19 10 29 6 18 4 3 29 11 15 3 3 29 출력 : 159 해결 과정 파리채의 잡는 파리의 합을 저장할 공간의 크기를 N - ..
입력 받은 숫자들 중에서 가장 많이 입력받은 숫자를 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테이스 케이스 더보기 [TC1] 입력 : 41 85 72 38 80 69 65 68 96 22 49 67 51 61 63 87 66 24 80 83 71 60 64 52 90 60 49 31 23 99 94 11 25 24 51 15 13 39 67 97 19 76 12 33 99 18 92 35 74 0 95 71 39 33 39 32 37 45 57 71 95 5 71 24 86 8 51 54 74 24 75 70 33 63 29 99 58 94 52 13 35 99 46 57 71 23 ..
숫자 N을 출력받아 N*N 배열에 달팽이처럼 들어갈 숫자를 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테이스 케이스 [TC1] 입력 : 3 출력 : 1 2 3 8 9 4 7 6 5 [TC2] 입력 : 4 출력 : 1 2 3 4 12 13 14 5 11 16 15 6 10 9 8 7 해결 과정 문제를 보자마자 달팽이 숫자라는 조건에 맞는 이어진 길을 찾는 문제기 때문에 DFS로 해결하면 좋겠다고 생각했다.배열의 끝에 도달할 때마다 해당 방향에서 시계방향으로 돌아가고 있다. 그래서 방향 [ 우, 하, 좌, 상 ]을 나타내는 방향 리스트를 만들고, 새로운 지역을 시작할 때마다 4방향을 차례대..
1차원 배열로 된 매매가를 입력받아, 최대 이익을 출력하는 문제이다. SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 [TC1] 입력 : 10 7 6 정답 : 0 해설 : 아무 것도 사지 않는 것이 최대 이익이다. [TC2] 입력 : 3 5 9 정답 : 10 해설 : 1일과 2일에 각각 사서 3일에 판매하면 10 (9*2 - (3 + 5)) 이익이다. [TC3] 입력 : 1 1 3 1 2 정답 : 5 해설 : 1일, 2일 구매 후, 3일에 판매 그럼 4 (3*2 - (1 + 1))이익, 4일 구매 후, 5일에 판매하여 1 (2*1 - 1) 이익이므로 총 5 이익이다. 해결과정 처음 문제를 풀며 주..
1차원 배열에 들어있는 빌딩 높이를 입력받아, 조망이 확보된(2칸 내외에 다른 세대가 없는) 세대의 수를 반환하는 문제이다. 시간복잡도 O(n) SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 테스트 케이스 및 정답 더보기 [TC1] 입력 : 100 0 0 225 214 82 73 241 233 179 219 135 62 36 13 6 71 179 77 67 139 31 90 9 37 93 203 150 69 19 137 28 174 32 80 64 54 18 0 158 73 173 20 0 102 107 48 50 161 246 145 225 31 0 153 185 157 44 126 153 233 0 201..