SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 현재 수의 각 숫자(digit)이 3, 6, 9를 포함하고 있는지 확인한다. 이때 각 digit를 뽑아내기 위해 현재 수를 문자열로 변환한 후 for문을 돌린다. 3. 정답 코드 n = int(input()) claps = [ '3', '6', '9' ] for i in range(1, n + 1) : temp = '' for digit in str(i) : if digit in claps : temp += '-' if not temp : print(i, end=' ') else : print(temp, end=' ') print()
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 현재까지 본 숫자는 중복이 제거된 0 ~ 9 사이의 값이다. 따라서 집합(set)를 사용하여 지금까지 숫자를 담아야겠다고 판단했다. 집합은 중복을 허용하지 않으므로 만약 집합의 길이가 10이 된다면 이는 곧 0 ~ 9까지의 모든 숫자가 담겼다는 의미이다. 3. 정답 코드 update( ) : 집합에 여러 값을 추가한다 T = int(input()) for test_case in range(1, T + 1): n = int(input()) numbers = set() nx, count = n, 1 while True : temp = ..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 각 총점을 구한 후, k번째 학생의 총점을 저장한다. 그 총점을 내림차순 정렬한 후, k번째 학생의 점수 순위를 저장한다. 각 평점에 속할 수 있는 순위의 경계값을 구한 후, k번째 학생이 몇 번째 경계값에 속하는지 구한다. k번째 학생이 속한 경계값이 곧 k번째 학생의 평점이다. 뭔가 더 깔끔하고 명확한 코드를 작성할 수 있을 듯한데, 아쉽다. 나중에 다시 보면 번뜩 또 다른 아이디어가 떠오르길 기대한다. 3. 정답 코드 def make_list_with_total(n) : data = [] for i in range(1, n +..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 일단 모든 문자를 한 줄로 생성한 후, 10개씩 쪼개서 출력하는 것이 가장 간단하겠다고 생각했다. 10개씩 출력한 후, 남은 문자열은 단순히 출력하면 된다. ex) AAABBBBBCCCC → AAABBBBBCC CC 3. 정답 코드 T = int(input()) for test_case in range(1, T + 1): n = int(input()) string = '' for i in range(n) : key, value = input().split() string += key * int(value) print(f'#{test..