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

Meda의 DevLog

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

문제12 - 이진 변환 반복하기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열 s가 "1"이 될 때까지 0을 제거하고, 남은 문자열의 길이를 다시 2진법으로 변환하는 과정을 반복하는 문제입니다. 변환 횟수와 제거된 0의 총 개수를 구하는 것이 목적입니다.1. 나의 풀이 문제에서 정의한 '이진 변환'을 루프 내에서 구현하여 최종 결과값을 도출했습니다.def solution(s): # [변환 횟수, 제거된 0의 개수] answer = [0, 0] while s != "1": # 1. 현재 문자열에서 0의 개수를 카운트하여 누적 zero_count = s.count("0") ans..

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

문제11 - 3진법 뒤집기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr10진법 수를 3진법으로 변환한 뒤 이를 반전시키고, 다시 10진법으로 변환하는 문제입니다. base_change라는 범용적인 진법 변환 함수를 유지하면서 파이썬의 내장 기능을 활용하여 가독성과 효율성을 높였습니다.1. 나의 풀이진법 변환이라는 고유의 기능을 수행하는 함수와 문제의 요구사항에 맞춰 반전 및 재변환을 수행하는 함수로 나누어 구현했습니다.def base_change(num, base): # 0일 경우 문자열 '0' 반환하여 int() 함수와의 일관성 유지 if num == 0: return "0" nums = [] ..

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

문제9 - 짝지어 제거하기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr문자열 내에서 인접한 동일 알파벳 쌍을 찾아 연속적으로 제거하고, 최종적으로 모든 문자가 제거될 수 있는지 판별하는 문제입니다. 문자열의 최대 길이가 1,000,000에 달하므로 효율적인 탐색 알고리즘이 필수적입니다.1. 나의 풀이스택(Stack) 구조를 활용하여 선형 시간 내에 문제를 해결했습니다. 파이썬의 collections.deque를 사용하여 스택의 동작을 구현했습니다.from collections import dequedef solution(s): # 자료구조로 스택을 사용하기 위해 deque를 선언합니다. stack = deque() f..

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

문제8 - 튜플 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 중괄호로 표현된 집합 기호 문자열을 파싱하여 원래의 튜플 순서를 찾아내는 문제입니다. 집합의 원소 개수가 적은 것부터 순차적으로 확인하며 새롭게 등장하는 숫자를 정답 배열에 추가하는 로직이 핵심입니다.1. 나의 풀이최종적으로 개선된 코드입니다. 딕셔너리를 활용하여 중복 검사 속도를 최적화했으며, 파이썬의 map과 lambda를 활용하여 전처리를 수행했습니다.def solution(s): # 1. 문자열 전처리: {{, }} 제거 후 },{ 기준으로 분리하여 리스트 생성 strs_lists = list(map(lambda x: x.split(','), s..

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

문제5 - 행렬의 곱셈 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr2차원 행렬 arr1과 arr2를 입력받아 두 행렬을 곱한 결과를 반환하는 문제입니다. 행렬의 곱셈은 단순히 원소끼리 곱하는 것이 아니라, 앞 행렬의 행과 뒤 행렬의 열을 순차적으로 내적(Dot Product)해야 하므로 정확한 인덱스 제어가 관건입니다.1. 나의 풀이행렬의 크기를 먼저 결정하고, 3중 반복문을 통해 각 칸에 들어갈 합산 값을 계산했습니다.def solution(arr1, arr2): row_len = len(arr1) col_len = len(arr2[0]) answer = [[0] * col_len for _ in range(ro..

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

문제2 - 행렬 테두리 회전하기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr행렬의 특정 영역 테두리를 시계 방향으로 회전시키고, 그 과정에서 이동한 숫자들 중 최솟값을 찾는 문제입니다. collections.deque 자료구조를 활용한 효율적인 회전과 실시간 최솟값 추적을 적용했습니다.1. 나의 풀이기능별로 함수를 분리하고, deque를 도입하여 회전 로직의 가독성과 성능을 높였습니다. 한 줄이 길어질 수 있는 연산은 코드 블록으로 나누어 작성했습니다. from collections import dequedef rotate(board, point): # 0-인덱스 보정 row1, col1 = point[0] - 1, point[..

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

티스토리툴바