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..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 입력받은 10개의 데이터를 리스트에 담고, 각 최대값/최소값을 제거한 후 평균을 구한다. 3. 정답 코드 remove( 값 ) : 반환값 X round( ) : 반올림 함수 T = int(input()) for test_case in range(1, T + 1): data = list(map(int, input().split())) smallest, biggest = min(data), max(data) data.remove(smallest) data.remove(biggest) average = round(sum(data) / l..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 입력된 문자열의 각 문자를 [표-1]을 보고 다시 값(숫자)로 변환 값을 6자리의 2진수로 변환 ex) 110 → 000110 2진수를 모두 연결 후, 8비트씩 끊어 10진수로 변환 10진수(아스키 코드)를 문자열로 변환 각 단계는 문제를 보고 유추할 수 있었지만, 10진수(아스키 코드)를 문자열로 변환하는 것은 생각하기 어려웠다. 하지만, 어떤 문자를 2진수로 표현하려면, 먼저 문자를 아스키 코드로 변환한 후 2진수로 표현해야 하므로 마지막 단계를 필요하다. 3. 정답 코드 ascii_lowercase, ascii_uppercas..
SW Expert Academy SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요! swexpertacademy.com 1. 문제 내용 2. 접근 방식 점수 종류가 101개이고 입력된 점수 데이터가 1,000개이다. 따라서 최악의 경우라도, 점수 종류 for문 안에서 특정 점수를 count하는 연산을 적용하여도 약 100,000번의 연산만 수행하면 된다. 입력된 점수 데이터의 중복을 없애 점수의 종류로 for문을 돌린다. 각 점수의 빈도수를 파악한 후 딕셔너리에 넣는다. 이때 딕셔너리의 key는 빈도수, value는 점수이다. 만약 딕셔너리에 동일한 빈도수(key)가 존재한다면, 점수가 더 큰 값이 value로 저장되도록 한다. 이후 딕셔너리에서 가장 큰 key 값의 value를 ..