2024/08/25 2

[이코테] Chap 12. 구현 문제

08. 문자열 재정렬arr = list(input())arr.sort()num = 0i = 0for _ in range(len(arr)): if '0'  문자열을 arr에 리스트로 입력받고 오름차순 정렬을 한다.num은 숫자를 더하기 위한 변수, i는 확인 인덱스를 표시하기 위한 변수이다. 문자열 arr의 길이만큼 반복을 진행한다.i번째 문자가 숫자이면 (0과 9 사이이면) 숫자 합을 구하는 변수 num에 해당 수를 더하고, i번째 문자는 pop한다. 해당 원소를 pop하며 리스트에서 제외했으므로 인덱스 i는 변경하지 않는다.숫자가 아니면 다음 인덱스의 확인을 진행한다. 모든 원소의 확인이 끝나면 숫자가 아닌 남은 문자 arr를 join으로 합치고 num을 문자열로 변환하여 합친다.

[이코테] Chap 4. 구현 (Implementation)

이론구현이란?구현은 머릿속에 있는 알고리즘을 소스코드로 바꾸는 과정이다. 어떤 문제든 소스코드를 작성해야 하므로 모든 범위의 코딩 테스트 문제 유형은 구현을 포함한다.하지만 그중에서도 특히 구현 유형이라 부르는 문제들은'풀이를 떠올리는 것은 쉽지만 소스코드로 옮기기 어려운 문제'를 의미한다. 다음의 두 문제 유형은 '구현'이 핵심이 되는 경우가 많다.1) 완전 탐색(브루트포스): 모든 경우의 수를 주저 없이 다 계산하는 해결 방법2) 시뮬레이션: 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행 구현하기 어려운 문제- 알고리즘은 간단한데 코드가 지나치게 길어지는 문제- 특정 소수점 자리까지 출력해야 하는 문제- 문자열이 입력으로 주어졌을 때 한 문자 단위로 끊어서 리스트에 넣어야 하는 문제 (파싱..