본문 바로가기

전체 글43

[백준] 2002: 추월 안녕하세요. 이번 문제는 백준의 2002번 '추월' 입니다. 문제 코드 import sys n = int(input()) count = 0 origin = [sys.stdin.readline().rstrip() for i in range(n)] for i in range(n): s = sys.stdin.readline().rstrip() if origin[i - count] != s: count += 1 origin.remove(s) print(count) 알고리즘 캔버스 아이디어 원본 배열을 입력받아 origin에 저장 현재 배열을 입력받으면서 순서대로 원본 배열과 대조해봄 기존 배열과 현재 배열을 순서대로 대조했을때, 기존 배열 참조는 i를 기준으로 하되, (origin[i]) 이미 추월한 차의 개수.. 2024. 4. 12.
[프로그래머스] 60057: 2020 KAKAO BLIND RECRUITMENT > 문자열 압축 안녕하세요. 이번 문제는 프로그래머스의 60057번 입니다. 문자열을 압축하는 문제입니다. 문제 코드 def solution(s): result = set([len(s)]) for i in range(1,len(s)): result.add(len(string_zip(s, i))) return min(result) def string_zip(strs, n): result = "" target = strs[:n] count = 1 for i in range(n, len(strs), n): if strs[i:i+n] == target: count += 1 else: result += f"{count if count > 1 else ''}{target}" count = 1 target = strs[i:i+n] .. 2024. 4. 5.
[프로그래머스] 120812: 최빈값 안녕하세요. 이번 문제는 프로그래머스의 120812번 입니다. 최빈값을 구하는 문제입니다. 문제 코드 def solution(array): d=dict() r=[] for i in range(len(array)): v = array[i] if v in d: d[v] = d[v] + 1 else: d[v] = 1 if len(r) > 0: if v in r or d[r[len(r)-1]] 1 else r[len(r)-1] 알고리즘 캔버스 아이디어 각 값마다의 빈도를 저장하는 dict(이하 d)와 현재 최빈값을 저장하는 ar.. 2024. 3. 29.
[백준] 11047: 동전 0 (그리디) 안녕하세요. 이번 문제는 백준의 11047번 입니다. 그리디 알고리즘을 사용해 푸는 문제입니다. 저는 요즘 푸는 문제들은 `알고리즘 디자인 캔버스(이하 캔버스)`를 제게 더욱 잘 맞게 수정해서, 템플릿화 시켜서 사용하고 있습니다. 그래서 해당 문제도 캔버스에 적어가며 풀었습니다. 문제 정리에 도움이 되는 것 같습니다. 참고로 그리디 알고리즘이란 매 상황에서의 가장 좋은 선택지를 고르는 알고리즘입니다. 그래서 특정 조건을 충족하지 않으면 일반적으로 최적의 해가 되기는 어렵습니다. 최적 값의 '근사값'이 목표입니다. 다음이 문제입니다. 실버 4 단계네요. 문제 코드 n, k = map(int, input().split()) n_l = list(map(int, [input() for i in range(n)].. 2024. 3. 22.
[React] Styled-components와 React(+ Typescript)로 타이핑 애니메이션 만들기 안녕하세요. 오늘은 제가 프로필 페이지를 제작하면서 만들었던 간단한 타이핑 애니메이션에 대해 포스팅하려고 합니다. 정말 간단한 애니메이션인데, 혹시나 비슷한 걸 만들고자 하시는 분께 도움이 되고자 간략하게 포스팅 해봅니다. 1. UI 제작하기 이번 프로젝트에선 기본적으로 React 프로젝트가 준비되어 있다는 가정 하에 진행하도록 하겠습니다. 우선, 타이핑 애니메이션 이전에 보여지고픈 UI를 제작해줍니다. // ... const MainTitle = styled.div` text-align: left; font-weight: 500; margin: 2rem 0; line-height: 1; font-size: 7rem; position: relative; display: flex; align-items: .. 2022. 10. 9.
[React.js] 요즘 잘 사용하고 있는 VSCode에서의 Typescript ESLint/Prettier 환경 함께 설정하기 안녕하세요. 오늘은 제가 가장 최근까지 좋아하는, 빡센 규정은 아니지만 적당한 규정의 ESLint/Prettier 설정에 대해 공유하려고 합니다. 프로젝트를 시작할 때 린터와 포매터를 설정하는 것이 의외로 오래 걸리는 과정 중 하나인데요. 그래서 겸사겸사 저도 기록하는 용도로 간단하게 적어보고자 합니다. 참고로 린터와 포매터의 개념에 대한 글은 이전에 적어둔 글이 있어 달아두기만 하겠습니다. 1. Package install 가장 우선적으로 prettier와 eslint의 본체와 플러그인을 다운 받아야 합니다. 다만 CRA로 만들어진 React 프로젝트의 경우, 본 링크에서 확인할 수 있듯이 기본적인 eslint plugin들을 이미 포함하고 있습니다. 보통 CRA로 프로젝트를 생성하는 경우가 많기 때문.. 2022. 10. 8.