Nefus 파이썬 3차시 과제 - 10203 김건우
Codeup 1610
1610번 문제는 서브 스트링이라고 하는 함수를 구현하는 코드를 작성하는 것이었습니다. 이 서브 스트링은 문자열을 처리할때 원본 문자열의 특정 위치를 지정하고 그 위치부터 또 범위를 지정하여 원하는 값만을 추출하는 함수입니다. 위 문제에서는 첫번째 줄에 문자열, 두번째 줄에 순서대로 시작 위치와 길이를 입력 받아 서브 스트링을 진행하여서 다음과 같이 코드를 작성하였습니다.
위 코드를 보면 먼저 각각 w, s, c를 입력 받은 뒤, mysubstr 함수를 사용하여 c를 통해 길이를 알려주어 반복할 횟수를 설정하고, 리스트에서 s를 활용해 시작 위치부터 i를 더해가며 출력할 수 있도록 했습니다. 따라서 결국엔 실제 서브 스트링 함수와 비슷한 기능을 할 수 있게 코드를 작성하였습니다.
Codeup 1620
1620번 문제는 어떤 수 n의 모든 자릿수를 더해서 결국 한 자리의 수가 나오게 연산을 반복하는 문제였습니다. 처음엔 리스트를 써야 하나 고민을 하면서 조금 접근이 힘들었던 문제였던 것 같습니다.
위 코드를 보면 먼저 숫자 n을 입력받고 한자리에서 연산을 멈추기 위해 while문에서 조건으로 a == 0 or a >= 10을 두어 반복하게 했습니다. 또 계산을 계속해서 하기 위해 while문 안에서 a를 초기화 해주고, n의 마지막 자리 숫자를 10으로 나눈 나머지를 통해 a에 덧셈을 하여 저장합니다. 그런 뒤 이번엔 n에 자신을 10으로 나눈 몫을 저장해 첫째 자리를 제외한 나머지를 받게 만들었습니다. 그리고 이 과정을 n이 0이 될때까지 반복하여 결국 한자리 수로 만들어지게 코드를 작성하였습니다.