코딩테스트166 [ python ] 코드업 1920 - 2진수 변환 📍 코드업 1920 - 2진수 변환 코드업 1920 - 2진수 변환 ⚡️ 나의 풀이 2진수를 구현하는 법을 알고 있었는데 막상 재귀함수로 풀어보려고하니까 잘 생각이 떠오르지 않았다. 핵심 코드는 이렇다. 나머지를 2로 나눈다. 출력한다. 몫을 2로 나눈다. 언제까지? n이 1보다 작아질때까지 1905번처럼 빈 리스트에 추가해서 join함수를 사용했는데, 그럴필요가 없었다. 비록 정답판정을 받았지만 30분동안 삽질하고 다른코드를 보니까 허무(?)했다. 너무 어렵게 생각하지 말자! # 1번 어렵게 푼 문제 x = 7 result = [] while x != 0: result.append(x % 2) x //= 2 print(result) result = [] def binary(n): if n == 0: r.. 2021. 4. 9. [ python ] 코드업 1905 - 1부터 n까지의 합 구하기 📍 코드업 1905 - 1부터 n까지의 합 구하기 코드업 1905 - 1부터 n까지의 합 구하기 ⚡️ 나의 풀이 쉽게 풀 수 있었는데도 불구하고 어렵게 빙빙 돌아가서 푼 문제였다. sum값에 현재 값을 더한 값을 빈 리스트에 추가한 다음 print()했는데, 그러지 않고도 쉽게 문제를 풀 수 있었다. 1보다 작거나 같은 값은 1로 반환시켜주고 그렇지 않은 값들은 n에 재귀적으로 값을 더해주면 됐다. 너무 어렵게 생각하면 안되겠다는것을 느꼈다. import sys sys.setrecursionlimit(1000000) # 1번(어렵게 푼 문제) sum = 0 def sum_number(n): global sum if n != 1: sum_number(n-1) sum+=n sum_number(int(inpu.. 2021. 4. 9. [ python ] 코드업 1904 - 두 수 사이의 홀수 출력하기 📍 코드업 1904 - 두 수 사이의 홀수 출력하기 코드업 1904 - 두 수 사이의 홀수 출력하기 ⚡️ 나의 풀이 범위내의 값을 출력할때는 어떻게 할까 고민을 했다. 딱히 떠오르지 않아 먼저, 홀수만 출력하는 코드를 짜보자!라는 생각이 들어 샤프를 끄적거리며 홀수만 출력할때 재귀함수의 종료조건을 작성하다가 1 대신에 다른 변수가 들어가면 범위내의 값을 출력할 수 있겠네?!라는 생각을 했다. 그리고 앞선문제와 달리 변수를 2개 받기 때문에 재귀함수 호출 조건에서도 인자를 2개 넣어줘야 했다. 그럼 지금보다 -1 작은값을 넣어줄때마다 a보다 작으면 더 이상 호출을 안하게 설정하면 되겠다. 라는 생각을 했다. 코드를 그대로 구현했더니 정답판정을 받았다. a, b = map(int, input().split(.. 2021. 4. 9. [ python ] 코드업 1902 - 1부터 n까지 역순으로 출력하기 📍 코드업 1902 - 1부터 n까지 역순으로 출력하기 코드업 1902 - 1부터 n까지 역순으로 출력하기 ⚡️ 나의 풀이 이번엔 반대로 n부터 1까지 출력하는 문제이다. 1901문제랑 다른점은 print(n)의 위치인데 여기에서는 다른 함수를 호출하기 전 print(n)을 작성해주었다. 현재 들어온 n값을 먼저 출력하고 다른 함수를 호출하기 때문에 n부터 1까지 순서대로 값이 출력된다. 그리고 호출 한 지점에서부터 다음 코드는 어떤 행위(?)를 하는 코드가 없기때문에 호출만 될 뿐 값은 출력하지 않는다. 이번에도 return 되는 지점을 알고 싶어 명시적으로 작성했다. return을 적지 않아도 본래 함수 맨 마지막에는 return이 들어가있다. def top_down(n): print(f'f({n}).. 2021. 4. 9. [ 7. 배열 ] - 두 수의 합(Two Sum) 📍 두 수의 합(two sum) 덧셈하여 타겟을 만들 수 있는 배열의 두 숫자 인덱스를 리턴하라. ⚡️ 나의 풀이 이 책의 풀이방법은 4가지나 되지만, 제일 비효율적인 브루트 포스(brute force)밖에 떠오르지 않았다. 브루트 포스(brute force)으로 풀었던 방법은 이중 반복문을 선언하여 index를 하나씩 비교하는 방법인데, 이렇게 풀면 시간복잡도가 높아져서 효율적인 코드라고 말하기 어렵다. 책에 나와있는 다른 방식의 풀이는 상당히 효율적이었는데, target을 찾기위해서 index끼리 더하는것이 아니라 target에서 index값 한개를 빼고 남은 index값이 배열안에 있는지 탐색하는 방법이었다. 문제풀면서 이런 방식은 떠오르지 않았는데.. 많은 풀이방법 중에 브루트포스밖에 떠오르지 않.. 2021. 4. 8. 이전 1 ··· 23 24 25 26 27 28 29 ··· 34 다음