본문 바로가기

python75

[코딩 테스트 Python 리팩토링] 문자열 숫자 덧셈, int 변환 vs 직접 구현 비교 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는👉 문자열 숫자 덧셈 문제를 리팩토링해보겠습니다.문제는 다음과 같습니다.0 이상의 두 정수가 문자열 a, b로 주어질 때a + b의 값을 문자열로 return 예시:a = "123"b = "456"→ "579"문제 출처: 두 수의 합2. 문제 접근 방법처음에는 가장 직관적인 방법으로👉 문자열을 정수로 변환 후 계산하는 방식으로 접근했습니다.문자열 → int 변환덧셈 수행다시 문자열로 변환3. 처음 작성한 코드def solution(a, b): return str(int(a) + int(b))4. 아쉬운 점이 코드는 매우 간결하고 실전에서도 잘 동작하지만다음과 같은 한계가 있습니다.매우 큰 숫자에서는 비효율 가능성문제 의도에 따라 직접 구현을 요구.. 2026. 3. 25.
[코딩 테스트 Python 리팩토링] 문자열 앞의 0 제거하는 가장 깔끔한 방법 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는문자열 전처리 문제 (앞자리 0 제거)를 리팩토링해보겠습니다.문제는 다음과 같습니다.정수로 이루어진 문자열 n_str이 주어질 때,가장 왼쪽에 있는 0들을 제거한 문자열을 반환하세요.예시:"000123" → "123""0010" → "10""0000" → "0"문제 출처: 0 떼기2. 문제 접근 방법처음에는 가장 직관적으로👉 문자열을 숫자로 변환하면 자동으로 0이 제거된다는 점을 이용했습니다.3. 처음 작성한 코드def solution(n_str): return str(int(n_str))4. 아쉬운 점코드를 분석합니다.문자열 → 정수 → 다시 문자열으로 불필요한 변환이 발생하고 있습니다.매우 긴 문자열일 경우 int() 변환 비용 증가합니다.문자.. 2026. 3. 25.
[코딩 테스트 Python 리팩토링] 조건 분기 최적화로 반복문 줄이기 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는배열 인덱스 조건 처리 문제를 리팩토링해보겠습니다.문제는 다음과 같습니다.정수 배열 arr과 정수 n이 주어질 때배열의 길이가 홀수라면 → 짝수 인덱스에 n 더하기배열의 길이가 짝수라면 → 홀수 인덱스에 n 더하기를 수행한 배열을 반환해야 합니다.※ 인덱스란?리스트에서 각 요소의 위치를 의미하며 0부터 시작합니다.예시:arr: [49, 12, 100, 276, 33]n: 27결과 [76, 12, 127, 276, 60]즉, "짝수 길이 배열이면 홀수 위치만 변경된다"라고 이해하면 됩니다.문제 출처: 배열의 길이에 따른 연산하기2. 문제 접근 방법처음에는 반복문을 돌면서조건을 직접 나누는 방식으로 접근했습니다.👉 “배열 길이에 따라 매번 조건 분기”3. .. 2026. 3. 25.
[코딩 테스트 Pythin 리팩토링] 길이 vs 합 기준 완벽 정리 1. 문제 소개오늘은 코딩 테스트에서 자주 등장하는배열 비교 문제를 리팩토링해보겠습니다.두 정수 배열 arr1과 arr2가 주어질 때길이가 다르면 → 더 긴 배열이 더 큼길이가 같으면 → 원소의 합 비교둘 다 같으면 → 동일예시:arr1 > arr2 → 1 arr1 같으면 → 0문제 출처: 배열 비교하기2. 문제 접근 방법처음에는 문제 조건을 그대로 코드로 옮겨서조건문 기반 비교로 접근했습니다.이 문제는 비교 기준이 2단계입니다.먼저 배열의 길이를 비교합니다.→ 길이가 다르면 여기서 바로 결정됩니다.길이가 같을 때만→ 그 다음으로 원소의 합을 비교합니다.3. 처음 작성한 코드def solution(arr1, arr2): if len(arr1) == len(arr2): if sum(ar.. 2026. 3. 25.
[코딩 테스트 리팩토링] 스택으로 연속 값 제거하기 (0과 1 배열) 1. 문제 소개0과 1로만 이루어진 배열 arr가 주어집니다.다음 규칙을 따라 새로운 배열 stk를 생성해야 합니다.문제 규칙stk이 비어있으면 → 값 추가stk 마지막 값 == 현재 값 → 제거 (pop)stk 마지막 값 != 현재 값 → 추가 (append)👉 최종적으로 stk 반환👉 stk이 비어있으면 [-1] 반환문제 출처: 배열 만들기 62. 문제 접근 방법처음에는 단순한 반복문 문제라고 생각했습니다.하지만 핵심은 “값 비교 후 상태 변화”라는 점이었습니다.실행 흐름 (예시)arr = [0, 1, 1, 0]과정:[] → [0][0] → [0,1][0,1] → [0] (1 제거)[0] → [] (0 제거)👉 최종 결과: [-1]💡 stk는 어떤 역할을 할까?stk는 단순한 결과 저장용 배열.. 2026. 3. 25.
정규표현식(Regex) 완벽 정리 | 초보도 이해하는 Python re 사용법 정규표현식(Regex)정규표현식( Regular Expression)은 Python의 re 모듈에서만 사용하는 기능이 아니라,문자열에서 원하는 패턴을 찾기 위한 “공통 규칙”입니다.Python에서는 이 규칙을 re 모듈을 통해 사용할 수 있으며,findall, sub, split 등의 함수로 문자열 검색, 치환, 분리를 수행합니다. 그럼 정규표현식은 언제 사용할까? text = "apple123 banana456 orange789"숫자만 뽑기단어만 뽑기특정 패턴 찾기정규표현식 없이 for문과 if문을 활용하여 구현할 수 있습니다.하지만 여러 개의 조건이 있을 경우코드가 복잡하고 길어지는 문제가 있습니다.for c in text: if c.isdigit(): ...정규표현식은 여러 개의 .. 2026. 3. 25.