<문제 1번>
<1. 나의 풀이> = <2. 내 풀이보다 더 효율적인 풀이>
위 문제는 zip 함수를 사용하면 정말로 간단하게 풀 수가 있다.
이처럼 유용한 함수들은 잘 기억해두었다가 나중에 꼭 써먹자!! ^^
<문제 2번>
<1. 나의 풀이>
이 문제도 간단하다.
주어진 숫자가 짝수인 경우와 홀수인 경우를 나눠서 처리해주기만 하면 된다.
단, 한 가지 주의할 점은 문제에서도 나와있듯이, "0"도 짝수로 처리해주어야 한다는 것이다.
<2. 내 풀이보다 더 효율적인 풀이>
if 문을 길게 늘어서 쓰지 않고 이렇게 한 줄로 표현할 수 도 있다.
<문제 3번>
<1. 나의 풀이>
우선 n 을 문자열로 변환시켜서 각 숫자 별로 쪼갤 수가 있도록 만들어 주었다.
그 다음, for 문을 사용해서 각각의 숫자들을 더해주는 방식으로 구현하였다.
<2. 내 풀이보다 더 효율적인 풀이>
위 코드는 재귀 호출을 사용한 풀이 방식이다.
먼저 n 이 한 자리 수인 경우에는 그냥 그 값을 반환해주면 된다.
n 이 두 자리 수 이상인 경우에는 재귀 호출을 사용해서, 각각의 자리 수를 더해주는 방식으로 구현했다.
<문제 4번> - 최대공약수 및 최소공배수 개념 정리 사이트: mathbang.net/206
<1. 나의 풀이>
이 문제의 경우, 최대공약수와 최소공배수의 개념을 정확하게 알고 있지 못해서 열심히 구글링을 해본 문제이다...
최대공약수의 경우 간단하게 찾아낼 수 있었으나, 최소공배수의 경우 어떻게 찾아내야 할지 전혀 감을 잡지 못했다 ㅠㅠ
결국 최소공배수를 찾는 공식을 보고나서야 코드로 구현을 할 수 있었다...나란 놈은 멍청이인가...
<2. 내 풀이보다 더 효율적인 풀이>
이 문제를 좀 더 효율적으로 처리하기 위해서 다른 사람의 풀이를 보니, "lambda 식" 통해 재귀 호출 방식을 사용한 풀이들이 많았다!
세상에....이렇게 간단할 수가 있나...
<문제 5번>
<1. 나의 풀이> = <2. 내 풀이보다 더 효율적인 풀이>
이 문제는 n ** 0.5 가 주어진 정수 n 의 제곱근이라는 것만 알면 쉽게 풀 수 있는 문제이다.
간단한 문제이므로 더 이상의 설명은 하지 않겠다.
'Python' 카테고리의 다른 글
[알고리즘_Programmers] 5주차 문제 및 풀이 (총 5 문제) (1) | 2020.05.20 |
---|---|
[알고리즘_Programmers] 4주차 문제 및 풀이 (총 5 문제) (1) | 2020.05.20 |
[알고리즘_Programmers] 2주차 문제 및 풀이 (총 5 문제) (2) | 2020.05.20 |
[알고리즘_Programmers] 1주차 문제 및 풀이 (총 5 문제) (2) | 2020.05.20 |
[Numpy 기초] (0) | 2020.05.18 |