SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 7개의 정수밖에 없기 때문에 7개의 정수 중에서 3개를 골랐을 때 경우의 수가 35밖에 되지 않는다. (7C3) 따라서 모든 가능한 3개의 정수를 더하였을 때의 값을 집합에 담고 (중복 제거 목적), 이후에 리스트로 변환한 후 오름차순 정렬한다. 그럼 5번째로 큰 수는 뒤에서 5번째에 있는 원소 값일 테다. 3. 정답 코드 T = int(input()) for test_case in range(1, T + 1): data = list(map(int, input().split())) combination = set() for i in..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 마름모는 0번째 행에서 1개, 1번째 행에서 3개, 2번째 행에서 5개...로 늘다가, 농장 크기의 딱 절반이 되는 행 이후부터는 다시 5 > 3 > 1로 감소한다. 따라서 left, right로 행 안에서 마름모에 해당하는 열의 범위를 표현하고, 행이 거듭될수록 left, right 를 양옆으로 한 칸씩 넓히다가 딱 절반째 행부터는 left, right 값을 한 칸씩 줄인다. 3. 정답 코드 def init() : n = int(input()) data = [] for i in range(n) : data.append(input(..
교재에 서술된 정답 코드가 아닌, 제가 직접 작성한 코드입니다. solution 함수를 구현하여 입력문 생략 게임 캐릭터의 방향과 방문지 출력 등의 테스트 코드 포함 책에 있는 코드와의 차이점 turn_left() 함수 미사용 방문한 위치를 저장하기 위한 맵 미사용 (메모리 효율적) def solution(n, m, x, y, d, maps) : steps = [ [-1, 0], [0, 1], [1, 0], [0, -1] ] # index is the direction 0, 1, 2, 3 count = 1 maps[x][y] = -1 # if visited, change value to -1 limit = 4 print(f'*** visited: {[x, y]} ***') while True : d = ..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 비밀번호의 양쪽 끝이 0일 수 있으므로 문자열로 처리한다. (int 변환 시 맨 앞과 맨 뒤 0이 사라지기 때문) 더 이상 소거할 번호 쌍이 없을 때까지 비밀번호를 처음부터 끝까지 검사하면서 번호 쌍 제거 행위를 계속 반복한다. 더 이상 소거할 번호 쌍이 없는 것을 판단하기 위해 count 변수를 사용하여 비밀번호 내 번호 쌍 개수를 세었고, count == 0일 시 번호 쌍 검사의 반복을 종료한다. 3. 정답 코드 T = 10 for test_case in range(1, T + 1): n, password = input().sp..