2026/03/08 7

[정글 베이직 5] 재귀 함수 완성

코드는 바로 맞았다.힌트에 구조가 다 나와 있었고, 채워 넣었더니 테스트가 통과됐다.근데 뭔가 찜찜했다. 내가 이해하고 쓴 건지, 그냥 베껴 쓴 건지.그래서 코드를 닫고 factorial(5)를 손으로 직접 따라가봤다.함수가 몇 번 불리는지, 어느 시점에 값이 돌아오는지.그때서야 재귀가 뭔지 실제로 납득됐다.문제 소개재귀 함수로 팩토리얼과 피보나치 수를 계산한다.핵심은 코드를 짜는 것보다 재귀의 두 구성요소를 이해하는 것이다.항목내용입력n: 양의 정수팩토리얼 출력n! → factorial(5) = 120피보나치 출력n번째 피보나치 수 → fibonacci(5) = 5핵심 개념base case, recursive case, 호출 스택# 팩토리얼factorial(5) → 120 # 5×4×3×..

[정글 베이직 4] 두 수의 합 완성

이중 반복문이면 된다고 생각했다.배열에서 두 수를 골라서 합이 target이 되면 저장하면 되잖아.근데 실행해봤더니 결과에 (0, 1)도 있고 (1, 0)도 있었다.같은 쌍이 두 번 들어간 거다.심지어 (0, 0)도 들어갔다. 자기 자신과의 합.조건을 하나 빠뜨렸을 뿐인데 결과가 완전히 달라졌다.문제 소개정수 배열과 목표 값이 주어진다.두 수를 골랐을 때 합이 target이 되는 모든 인덱스 쌍 (i, j)를 찾는 것.단, i 조건을 지켜야 한다.항목내용입력nums: 정수 배열, target: 목표 합출력(i, j) 인덱스 쌍의 리스트 — i 핵심 도구이중 반복문, range(i+1, n), 완전 탐색(Brute Force)예제 입출력은 이렇다.# 입력nums = [2, 7, 11, 15]targe..

[정글 베이직 3] 회문 판별

처음에 코드를 쓰다가 멈췄다.논리는 맞는 것 같은데, 실행하면 이상한 결과가 나왔다."A man, a plan, a canal: Panama"를 넣었더니 False가 나왔다.회문이 맞는데 왜 False가 나오지?원인을 찾는 데 생각보다 시간이 걸렸다. 딱 한 글자 차이였다.문제 소개문자열이 주어진다. 이 문자열이 회문인지 판별하는 함수를 작성하는 것.단, 대소문자는 구분하지 않고, 알파벳과 숫자가 아닌 문자는 무시한다.항목내용입력임의의 문자열 s출력True 또는 False핵심 도구isalnum(), lower(), 리스트 컴프리헨션, [::-1]예제 입출력은 이렇다.# 입력 / 출력"A man, a plan, a canal: Panama" → True"race a car" ..

[파이썬 기초 문법 총정리 #4] 실전 도구 완전 정복 — Arrays, Iterators, Modules, Dates, Math (Ch.21~25)

[정글 파이썬 #4] 실전 도구 완전 정복 — Arrays, Iterators, Modules, Dates, Math (Ch.21~25)들어가며시리즈 1~3을 거치며 파이썬 문법의 뼈대는 완성됐다. 이제부터는 "실전에서 정말 쓰는 것들"이다. Ch.21~25는 특별한 이름이 없어 보이지만, 뜯어보면 알짜배기만 모여있다.Ch.21 Arrays — 파이썬에서 배열이란? (List와 뭐가 다른가)Ch.22 Iterators — for문이 내부에서 어떻게 돌아가는지Ch.23 Modules — 코드를 파일로 쪼개는 방법Ch.24 Dates — 날짜·시간 다루기 (datetime)Ch.25 Math — 수학 함수 총정리C로 따지면 #include로 가져오는 헤더파일 개념, 표준 라이브러리 함수들에 해당한다. 파이썬..

[파이썬 기초 문법 총정리 #3] 제어문과 함수 완전 정복 — if, while, for, def, lambda (Ch.16~20)

들어가며제어문만큼은 C랑 비슷하겠지 — 라고 생각했는데 아니었다.for (int i=0; i 같은 게 파이썬에는 없다. 루프가 아예 다른 개념으로 동작한다.함수도 마찬가지다. *args니 **kwargs니 하는 게 처음엔 뭔지도 몰랐다.W3Schools 16~20챕터를 직접 쳐보면서 하나씩 정리했다. 이번 글은 그 기록이다.시리즈 개요: W3Schools 파이썬 튜토리얼 1~25챕터를 공부한 내용을 묶어 정리합니다.이번 편은 챕터 16~20: 제어문·함수 전반 — if/elif/else, while, for, def, lambda1. if / elif / else — 조건문 (Ch.16)기본 구조는 C랑 거의 같다. 다른 점은 괄호 없이 조건을 쓰고, 블록은 콜론 + 들여쓰기로 구분한다는 것.else i..

[파이썬 기초 문법 총정리 #2] 자료구조 4총사 완전 정복 — List, Tuple, Set, Dict (Ch.12~15)

들어가며C에서 배열을 쓸 때는 크기를 미리 정해야 했다. int arr[100]; 같은 식으로.파이썬을 처음 보면 리스트, 튜플, 셋, 딕셔너리가 전부 비슷하게 생겨 보여서 "뭘 언제 써야 하지?" 라는 생각이 든다.크래프톤 정글 2주차 W3Schools 12~15챕터를 직접 쳐보면서 각각 언제 쓰는 건지 감이 잡혔다.이번 글은 그 4가지 자료구조를 C 출신 시선으로 비교 정리한 것이다.시리즈 개요: W3Schools 파이썬 튜토리얼 1~25챕터를 공부한 내용을 묶어 정리합니다.이번 편은 챕터 12~15: 자료구조 4총사 — List, Tuple, Set, Dictionary한눈에 보는 4총사 비교자료구조기호순서변경 가능중복 허용주 용도List[ ]OOO일반 배열 대체, 순서 있는 컬렉션Tuple( )O..

[파이썬 기초 문법 총정리#1] — C 출신이 처음 파이썬 보면 낯선 것들 (W3Schools Ch.01~11)

들어가며C만 써오다가 파이썬을 처음 봤을 때 솔직히 좀 당황했다.{}는 어디 갔지? 세미콜론은? int x = 5;는 왜 그냥 x = 5야?크래프톤 정글 2주차, W3Schools 01~11챕터를 직접 코딩하면서 이 물음표들이 하나씩 해소됐다.이 글은 그 과정을 정리한 것이다. C 출신이 파이썬에서 낯설었던 것들 위주로.시리즈 개요: W3Schools 파이썬 튜토리얼 1~25챕터를 공부한 내용을 묶어 정리합니다.이번 편은 챕터 01~11: 기초 문법 전반 — 들여쓰기, 변수, 타입, 문자열, Boolean, 연산자1. 들여쓰기가 문법이다 (Ch.03)파이썬에서 가장 먼저, 그리고 가장 크게 낯선 것: 중괄호가 없다.C에서 if 블록을 {}로 감쌌다면, 파이썬은 들여쓰기 자체가 그 역할을 한다.스타일 취향..