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

Meda의 DevLog

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

문제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

문제1 - 교점에 별 만들기 (Python)

프로그래머스SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 여러 직선의 방정식이 주어졌을 때, 모든 정수 교점을 찾아 이를 포함하는 최소 크기의 사각형 도화지에 별을 그리는 문제입니다. 좌표계의 특성과 정밀한 수치 연산이 핵심입니다.1. 나의 풀이 기능별로 함수를 분리하여 가독성을 높였습니다. 한 줄이 길어질 수 있는 연산은 변수를 활용해 코드 블록 형태로 나누어 작성했습니다.def get_cross_point(a, b, e, c, d, f): # 분모 계산을 통한 평행 여부 확인 denominator = a * d - b * c if denominator == 0: return None ..

  • format_list_bulleted 알고리즘/프로그래머스 문제 풀이 전략
  • · 2026. 4. 20.
  • textsms
[백준/Kotlin] 1515번. 수 이어 쓰기

[백준/Kotlin] 1515번. 수 이어 쓰기

문제https://www.acmicpc.net/problem/1515   풀이234015가 입력으로 주어졌을 때 아래처럼1 2 3 4 5 6 7 8 9 10 11 12 13 14 15밑줄 그어진 수가 입력으로 주어진 남은 수,그렇지 않은게 다솜이가 지워린 수인것을 알 수 있고 마지막 값인 15가 정답이다.  최소인 마지막 값을 찾으려면1부터 1씩 증가시키면서 입력으로 주어진 수( 234015 )의 앞부터 지워나가면 된다. 순차적으로 생각하면 다음과 같다.1 -> 2340152 -> 234015, 2 삭제3 -> 34015, 3 삭제4 -> 4015, 4 삭제5 -> 0156  -> 0157  -> 0158  -> 0159  -> 01510 -> 015, 0 삭제11 -> 15, 1 삭제12 -> 513 ..

  • format_list_bulleted 알고리즘/백준
  • · 2025. 2. 5.
  • textsms
[백준/Python] 1515번. 수 이어 쓰기

[백준/Python] 1515번. 수 이어 쓰기

문제https://www.acmicpc.net/problem/1515   풀이234015가 입력으로 주어졌을 때 아래와 같이1 2 3 4 5 6 7 8 9 10 11 12 13 14 15밑줄 그어진 수가 남은 수, 그렇지 않은게 다솜이가 지워린 수인것을 알 수 있고 마지막 값인 15가 정답이다.  최소인 마지막 값을 찾으려면1부터 1씩 증가시키면서 입력으로 주어진 수( 234015 )의 앞부분부터 지워나가면 된다. 순차적으로 생각하면 다음과 같다.1 -> 2340152 -> 234015, 2 삭제3 -> 34015, 3 삭제4 -> 4015, 4 삭제5 -> 0156  -> 0157  -> 0158  -> 0159  -> 01510 -> 015, 0 삭제11 -> 15, 1 삭제12 -> 513  -> ..

  • format_list_bulleted 알고리즘/백준
  • · 2025. 2. 5.
  • textsms
[백준/Kotlin] 20920번. 영단어 암기는 괴로워

[백준/Kotlin] 20920번. 영단어 암기는 괴로워

문제https://www.acmicpc.net/problem/20920   풀이특정 길이 M 이상의 문자열을 입력받아 아래의 3가지의 조건으로 정렬하는것이 핵심이다.  1. 각 단어별 등장횟수를 기록해둔 숫자를 내림차순2. 등장 횟수가 같다면 단어의 길이로 내림차순3. 단어의 길이가 같다면 알파벳순 단어별 등장 횟수 기록은 아래와 같은 가변 map을 사용한다.val words = mutableMapOf() 이 map에 문자열과 그 등장 횟수를 저장하기 위해 아래와 같이 getOrDefault를 이용했다.words에 word라는 값이 존재하면 그 값을, 아니라면 0을 반환하게 된다.words.getOrDefault(word, 0) 따라서 처음 등장한다면 0을 그렇지 않다면 현재 몇번 등장했는지의 값을 얻어..

  • format_list_bulleted 알고리즘/백준
  • · 2025. 2. 4.
  • textsms
[백준/Python] 20920번. 영단어 암기는 괴로워

[백준/Python] 20920번. 영단어 암기는 괴로워

문제https://www.acmicpc.net/problem/20920   풀이특정 길이 이상의 문자열을 입력받아 아래의 3가지의 조건으로 정렬하는것이 핵심이다.  1. 각 단어별 등장횟수를 기록해둔 숫자를 내림차순2. 등장 횟수가 같다면 단어의 길이로 내림차순3. 단어의 길이가 같다면 알파벳순 단어별 등장 횟수 기록은 defaultdict(int)를 이용하여 처음 등장하면 딕셔너리에 단어가 추가되며 값으로 1이 저장되고 두번째로 등장하면 값에 1씩 추가되는 방식으로 기록하였다. sorted(iterable 한 객체, key=lambda x: (-조건1, -조건2, 조건3))sorted와 key에 lambda식을 사용하면 첫번째 인자인 iterable 한 객체를 여러 조건으로 정렬가능하다.이 문제에서는 ..

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

티스토리툴바