Meda의 DevLog
close
프로필 배경
프로필 로고

Meda의 DevLog

  • 분류 전체보기 (70)
    • 알고리즘 (54)
      • 프로그래머스 문제 풀이 전략 (32)
      • 백준 (18)
      • SWEA (4)
    • 우테코 (6)
      • 기타 (0)
    • 스터디 (8)
      • 빅데이터분석기사 (2)
      • 코틀린 (5)
      • 안드로이드 (1)
    • 기타 정보 (1)
    • 잡담 (0)
  • 홈
  • 태그
  • 방명록
  • Github

문제 28 - 가장 큰 수 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr주어진 정수들을 이어 붙였을 때 만들 수 있는 가장 큰 수를 문자열로 반환하는 문제입니다.핵심은 숫자 자체의 크기가 아니라, 두 숫자를 어떤 순서로 붙였을 때 더 큰 문자열이 되는지를 기준으로 정렬하는 것입니다.1. 나의 풀이from functools import cmp_to_keydef compare(a, b): if a + b > b + a: return -1 elif a + b 이 풀이에서는 먼저 숫자를 문자열로 변환했습니다.숫자를 이어 붙여 비교해야 하므로, 정수 덧셈이 아니라 문자열 결합이 필요하기 때문입니다.정렬 기준은 compare..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 6. 16.
  • textsms

문제 27 - 문자열 내 마음대로 정렬하기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열 배열을 특정 인덱스의 문자를 기준으로 정렬하는 문제입니다. 핵심은 1차 정렬 기준은 n번째 문자, 2차 정렬 기준은 문자열 전체의 사전순으로 두는 것입니다.1. 나의 풀이def solution(strings, n): strings.sort(key=lambda x: (x[n], x)) return stringskey에 튜플을 사용하여 정렬 기준을 두 개로 지정했습니다.첫 번째 기준은 x[n]으로, 각 문자열의 n번째 문자입니다. 두 번째 기준은 x로, n번째 문자가 같은 경우 문자열 전체를 사전순으로 비교하도록 했습니다.2. 오늘 배운 점 및 복기..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 6. 10.
  • textsms

문제 15 - 핸드폰 번호 가리기 (Python) + 특수 목적 정규식

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 별표(*)로 마스킹하는 문제입니다. 문자열 슬라이싱을 이용한 기본적인 풀이와 정규표현식의 전방 탐색을 활용한 심화 풀이를 정리했습니다.1. 나의 풀이def solution(phone_number): # 전체 길이에서 4를 뺀 만큼 *을 생성하고 뒷 4자리 슬라이싱 결과와 합칩니다. return '*' * (len(phone_number) - 4) + phone_number[-4:]2. 오늘 배운 점 및 복기 노트긍정형 전방 탐색(Positive Lookahead)의 활용정규표현식에서 (?=X) 형태의 전..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 4. 27.
  • textsms

문제14 - 문자열 다루기 기본 (Python) + 정규표현식 요약정리

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 문자열의 길이가 4 또는 6인지 확인하고, 모든 문자가 숫자로만 구성되어 있는지 판별하는 문제입니다. 파이썬의 내장 메서드를 활용하는 방법과 정규표현식을 활용하는 방법 두 가지로 해결할 수 있습니다.1. 나의 풀이정규표현식을 활용한 풀이import redef solution(s): # 문자열 전체가 숫자 4자 혹은 6자인지 검사 return bool(re.fullmatch(r"\d{4}|\d{6}", s)) 내장 메서드를 활용한 풀이def solution(s): # 길이를 먼저 확인하고 숫자로만 구성되었는지 검사 if (len(s) =..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 4. 27.
  • textsms

문제13 - 신규 아이디 추천 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr카카오 서비스에 가입하는 유저들의 아이디가 규칙에 맞지 않을 때, 7단계의 순차적인 처리 과정을 거쳐 추천 아이디를 생성하는 문제입니다. 문자열 필터링, 특정 패턴의 치환, 길이 제한 및 예외 상황 처리가 주요 핵심입니다.1. 나의 풀이def solution(new_id): # 1단계: 소문자로 변환 lower_id = list(new_id.lower()) new_id = [] # 2단계 & 3단계: 허용된 문자 필터링 및 연속 마침표 처리 for char in lower_id: # 알파벳, 숫자, -, _, . 이 아니..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 4. 26.
  • textsms

문제10 - 문자열 압축 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열을 일정한 단위로 잘라 연속되는 중복을 찾아 압축하고, 그 중 가장 짧은 결과물의 길이를 반환하는 문제입니다. 완전 탐색을 기반으로 하되, 파이썬의 슬라이싱과 zip 함수를 활용하여 효율적으로 구현하는 방법을 학습할 수 있습니다.1. 나의 풀이def solution(s): answer = len(s) # 문자열 길이가 2 이하인 경우 압축 효율이 없으므로 조기 반환 if len(s) 1: # 반복 횟수가 10회, 100회 이상일 경우를 대비하여 문자열 길이로 합산 compressed_len..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 4. 24.
  • textsms
  • navigate_before
  • 1
  • 2
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (70)
    • 알고리즘 (54)
      • 프로그래머스 문제 풀이 전략 (32)
      • 백준 (18)
      • SWEA (4)
    • 우테코 (6)
      • 기타 (0)
    • 스터디 (8)
      • 빅데이터분석기사 (2)
      • 코틀린 (5)
      • 안드로이드 (1)
    • 기타 정보 (1)
    • 잡담 (0)
최근 글
인기 글
최근 댓글
태그
  • #Python
  • #오블완
  • #프로그래머스
  • #Kotlin
  • #알고리즘
  • #문자열
  • #파이썬
  • #프로그래밍
  • #티스토리챌린지
  • #백준
전체 방문자
오늘
어제
전체
Copyright © 쭈미로운 생활 All rights reserved.
Designed by JJuum

티스토리툴바