python75 [코딩 테스트 Python 리팩토링] split 여러 번 쓰면 손해입니다 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는문자열 분리 + 필터링 문제를 리팩토링해보겠습니다.문제는 다음과 같습니다.문자열에서 "a", "b", "c"를 기준으로 분리빈 문자열은 제거결과가 없으면 ["EMPTY"] 반환예시:"baconlettucetomato"→ ["onlettu", "etom", "to"]문제 출처: 세 개의 구분자2. 문제 접근 방법처음에는 단순하게split()을 여러 번 사용하는 방식으로 접근했습니다.👉 "a" → "b" → "c" 순서로 계속 나누는 방식3. 처음 작성한 코드def solution(myStr): answer = [] for split_a_Str in myStr.split("a"): for split_b_Str in split_a_St.. 2026. 3. 25. [코딩테스트 오답 노트] 파이썬 set 쓰면 틀리는 문제 (순서 유지 중복 제거 핵심 정리) 1. 문제 소개 문제 이름: 무작위로 k개의 수 뽑기언어: Python난이도: Lv.0소요 시간: 약 20분첫 시도 결과: ❌ 오답 (논리 오류) 2. 문제 접근 방법중복을 제거하면서 순서를 유지하고, 길이가 k가 되도록 배열을 만드는 문제라고 생각했습니다.배열 arr를 앞에서부터 순회처음 등장한 값만 추가길이가 k가 되면 종료부족하면 -1로 채움 3. 처음 작성한 코드def solution(arr, k): arr_set = list(set(arr)) answer = [] for i in range(k): if i 4. 왜 틀렸는가? "중복 제거니까 set 쓰면 되겠지?" 라고 생각했습니다.집합(set)은 순서를 보장하지 않는다이 문제는 순서 유지가 핵심5. 실행 흐름 재현.. 2026. 3. 25. [코딩 테스트 리팩토링] Python 배열 확장/제거 문제 리팩토링 (append, pop → extend, 슬라이싱 최적화) 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는배열 확장 + 제거(스택처럼 동작하는 구조) 문제를 리팩토링해보겠습니다.문제는 다음과 같습니다.빈 배열 X가 있습니다.배열 arr과 flag를 순회하면서flag[i] == True → arr[i]를 arr[i] × 2번 추가flag[i] == False → 뒤에서 arr[i]개 제거최종 배열을 반환하는 문제입니다.문제 출처: 빈 배열에 추가, 삭제하기2. 문제 접근 방법처음에는 문제를 그대로 구현하는 방식으로 접근했습니다.값을 여러 번 추가 → append()값을 여러 개 제거 → pop()👉 즉, 반복문으로 직접 처리하는 방식3. 처음 작성한 코드def solution(arr, flag): answer = [] for i, boolean i.. 2026. 3. 20. [코딩 테스트 리팩토링] 파이썬 리스트 반복 생성, 이렇게 하면 한 줄입니다 (for _ in range 완벽 이해) 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는리스트 확장(반복 생성) 문제를 리팩토링해보겠습니다.문제는 다음과 같습니다.빈 배열 X가 있고, 배열 arr의 원소를 앞에서부터 확인하면서값이 a라면, a를 a번 반복해서 배열 뒤에 추가하는 문제입니다.문제 출처: 배열의 원소만큼 추가하기2. 문제 접근 방법처음에는 문제를 그대로 구현하는 방식으로 접근했습니다.배열을 순회하면서각 값을 해당 횟수만큼 반복해서결과 배열에 추가즉, 문제의 흐름을 그대로 코드로 옮기는 방식입니다.3. 처음 작성한 코드def solution(arr): answer = [] for i in arr: answer += [i] * i return answer4. 아쉬운 점이 코드는 정답 코드이며 충분히 좋은.. 2026. 3. 20. [리팩토링] 문자열 이항식 계산 (split + 언패킹) 1. 문제 소개문자열 binomial이 "a op b" 형태로 주어진다.a, b : 음이 아닌 정수op : "+", "-", "*"👉 주어진 식의 결과를 계산하여 반환해야 한다.문제 출처: 간단한 식 계산하기2. 문제 접근 방법 문자열을 어떻게 처리할지 고민연산자를 기준으로 분기 필요split() 사용이 핵심 3. 처음 작성한 코드def solution(binomial): binomial_list = binomial.split() if binomial_list[1] == "+": return int(binomial_list[0]) + int(binomial_list[2]) elif binomial_list[1] == "-": return int(binom.. 2026. 3. 20. Python 배열(리스트) 생성 방법 총정리 (초보자용) Python에서 배열(리스트)을 만드는 방법은 다양하지만실제로는 몇 가지 패턴만 이해하면 대부분 해결됩니다.이 글에서는 배열 생성 방법을 “왜 사용하는지”까지 함께 설명합니다.list() 함수 ( 자료형 → 리스트 변환 )list()는 다른 형태의 데이터를 리스트로 바꿔주는 함수입니다.arr = list("hello")print(arr)# ['h', 'e', 'l', 'l', 'o']arr = list((1,2,3))print(arr)# [1, 2, 3]언제 사용할까?문자열을 문자 하나씩 나눌 때튜플을 리스트로 바꿀 때👉 “쪼개서 리스트로 만든다”빈 배열 만들기arr = []언제 사용할까?값을 하나씩 추가할 때arr = []arr.append(1)arr.append(2)# [1, 2]👉 “일단 만들고.. 2026. 3. 20. 이전 1 ··· 5 6 7 8 9 10 11 ··· 13 다음