2020.08.19 핸드폰 번호 가리기 알고리즘 정리노트__
오늘은 프로그래머스의 레벨 1 알고리즘 중 핸드폰 번호 가리기 알고리즘을 풀면서 헷갈렸던 문제 정리 노트__
맨 처음 풀이 - 아무생각 없이 길이에 4를 빼고 그 숫자만큼 *을 곱해주자라고 생각함.
결과는 ??
당연히 에러..
여기서부터 파이썬의 기초부터 다시 공부
문자열과 숫자형은 서로 더하기나 뺄 수 없다.
파이썬에서는 문자열과 숫자열의 곱하기는 지원한다.
그래서 이렇게 써주려면 곱하기를 먼저하지 않고
괄호를 써서 먼저 숫자열을 빼주고 그 다음 문자열인 "*"를 곱해주면?
이렇게 결과가 나오게 된다! 간단하지만 나는 항상 헷갈리기 때문에 노트로 메모.
다시 알고리즘으로 들어와서 또 이렇게 복잡하게 풀어주었다. 이렇게 풀게 되면 정답은 되는 것 같지만 굳이..? 라는 느낌이 든다.
풀이 = 먼저 phone_number만큼 *을 생성해주고 그 길이에서 - 4를 빼준다.
4를 빼준 길이만큼 *을 곱해주고 그 곱해준 결과와 맨 뒤 4자리 숫자를 더해준다.
여기서 phone_number[-4: ]는 슬라이싱을 쓴건데, -를 쓰면 끝에서부터 4번째라는 뜻이고 -4번째부터 끝까지 출력해달라는 뜻이다.
다 풀고 생각해보니.. 굳이 그만큼 별을 곱해주고 4를 빼는게 아니라 처음부터 그냥 4빼준 길이만큼 한번만 별을 곱해줘도 된다고 생각함.. 다풀고 생각함..ㅉ
그래서 최종적으로 나온 나의 풀이. 괄호를 써서 한번에 처리해줘도 되지만 정리하면서 깨달아서 제출한 답은 변수로 따로 그냥 빼주었따..ㅎ
뭐 그래도 한줄로 쓰면 조금 복잡하니까 변수로 깔끔하게 정리해줬다고 합리화 하며.. ㅎ
오늘은 문자열, 숫자열 사칙연산을 정리해보았다! 간단하지만 한번 만에 역시 못풀었따! ㅎ
'python' 카테고리의 다른 글
2020.08.26_알고리즘_완주하지 못한 선수 (4) | 2020.08.27 |
---|---|
2020.08.24_알고리즘_문자열 다루기 기본 (0) | 2020.08.25 |
2020.08.22_알고리즘_예산 (0) | 2020.08.22 |
2020.08.21 알고리즘_같은 숫자는 싫어 (2) | 2020.08.21 |
2020.08.19 알고리즘_k번째수 (0) | 2020.08.20 |
댓글