cording test 46

[Python] Lv.2 캐시

https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제는 캐시 교체 알고리즘으로 LRU를 사용한다. 이 문제를 통해 LRU라는 개념을 처음 보았기 때문에, 간단하게 ChatGPT로 어떤 알고리즘인지만 이해했다. 아래는 LRU 알고리즘에 대한 요약이다. LRU(Least Recently Used)는 캐시 교체 알고리즘 중 하나로, 주로 메모리 캐싱에서 사용된다. 이 알고리즘은 가장 최근에 사용되지 않은 데이터를 교체하는 방식으로 동작한다. 구체..

cording test 2024.03.29

[Python] Lv3. N으로 표현

https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr DP 문제의 특성으로는 제한사항을 특별히 꼼꼼히 읽어봐야 하는 점이 있다. 제한사항 N은 1 이상 9 이하입니다. number는 1 이상 32,000 이하입니다. 수식에는 괄호와 사칙연산만 가능하며 나누기 연산에서 나머지는 무시합니다. 최솟값이 8보다 크면 -1을 return 합니다. 카테고리부터 DP이기 때문에 DP로 풀어보려고 노력했다. 일단 혼자 풀어보는 것은.. 실패했다. 그 이유는 시작할..

cording test 2024.03.19

[Python] 프로그래머스 Lv.1 실패율

https://school.programmers.co.kr/learn/courses/30/lessons/42889 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 실패율 : 실패자/스테이지 도달자 N : 전체 스테이지 수 stages : 사용자가 있는 스테이지의 번호 담긴 배열 실패율이 높은 스테이지부터 내림차순 return 1부터 N까지를 순회하여, (stage에 있는 i번째 수의 개수/남은 사람의 수)가 실패율을 반환한다는 원리를 금방 이해했다. 그래서 마찬가지로 순회한 다음, 그 실패율을 담은 배열의 순위를 return 값으로 잡는 것이 목표이므로 아..

cording test 2024.03.16

[Python] 프로그래머스 Lv.2 뒤에 있는 큰 수 찾기

https://school.programmers.co.kr/learn/courses/30/lessons/154539 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 처음에는 적절하게 자료구조를 사용할 생각을 못했다. 레벨 1을 싹쓸이하고 올라오느라 미처 고민도 못해봤는데, 그러다 보니 아래와 같은 코드를 먼저 시도해보았다. 딱 머릿속에 생각나는 대로.. def solution(numbers): answer = [] for i in range(len(numbers)): found = False for j in range(i + 1, len(numbers)):..

cording test 2024.03.12

프로그래머스 LV.1 크레인 인형뽑기 게임

https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 카카오 문제들은 상당히 복잡했는데, 그림을 보면 알 수 있듯이 스택을 사용하라는 것을 강조했기 때문에 스택에 맞게 풀었다. 이중 for문을 통해서 문제를 어렵지 않게 풀었다. def solution(board, moves): answer = 0 stack = [] # 바구니 # 순서대로 크레인의 움직임 위치를 받는다. # 이차원 배열이라 이중 for 문 사용 for i in moves: for j..

cording test 2023.12.08

백준 4949. 균형잡힌 세상(Python)

https://www.acmicpc.net/problem/4949 4949번: 균형잡힌 세상 각 문자열은 마지막 글자를 제외하고 영문 알파벳, 공백, 소괄호("( )"), 대괄호("[ ]")로 이루어져 있으며, 온점(".")으로 끝나고, 길이는 100글자보다 작거나 같다. 입력의 종료조건으로 맨 마지막에 www.acmicpc.net 이 문제의 조건은 다음과 같다. 1. 문자열의 괄호는 균형이 맞아야 한다. 2. 괄호는 일반적인 공식에 맞게 해야 한다. 3. 입력의 종료조건으로 맨 마지막에 온점 하나(".")가 들어온다. 그래서 이 3개의 조건에 초점을 두고 풀었다. 이번 문제의 경우에는 명확히 스택을 사용하는 문제이다. 문장에 있는 글자들을 하나씩 꺼내서 체크해주는 방법을 고민해보았는데, 2번 조건이 너..

cording test 2023.11.09

Lv.1 바탕화면 정리

코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 나의 풀이 : 리턴 값으로 만들어야 할 min/max 값들을 꾸준히 업데이트해주는 코드 def solution(wallpaper): min_x, min_y, max_x, max_y = 1e5, 1e5, 0, 0 for i in range(len(wallpaper)): for j in range(len(wallpaper[0])): if wallpaper[i][j] == '#': min_x = min(min_x, i) ma..

cording test 2023.07.14

Lv.2 n-queens

코딩테스트 연습 - N-Queen | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 작년 알고리즘 수업에서 나왔던 문제. 그 때는 뭔 소린지도 모르고 쳐다봤지만 이번에는 반드시 풀어야지 하는 마음으로 풀어보았다. 이 문제는 백준에도 있는데, 확실히 공부에 도움이 되는 문제이기 때문에 Lv.2 정도로 성장했다고 생각하는 분들은 꼭 풀어보셨으면 하는 바람이다. 1. DFS(재귀함수 응용), 백트래킹, 함수 여러 개 투입 - 4735.34ms # 현재 퀸의 위치가 유효한지 확인하는 함수 # 이전 행들을 검사..

cording test 2023.06.07

Lv.3 이중우선순위큐

코딩테스트 연습 - 이중우선순위큐 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 힙도 공부해 보았으니 한 번 테스트해봐야지 겁 없이 레벨 3에 한 번 도전해보았다. 근데 생각보다 별로 어렵진 않았음. 그래도 정답률이 꽤 높아서 그런가 코드도 어렵지 않게 짰기 때문에 쉽게 이해할 수 있을 듯 1. 큐 개념을 사용한 해결법 def solution(o): q = [] while o: so = o.pop(0) stro, into = so.split() into = int(into) if stro=='I':..

cording test 2023.06.07

Lv.2 기능개발

코딩테스트 연습 - 기능개발 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 스택과 큐를 이용하는 문제라고 생각했는데, 사용하지 않아도 괜찮은 문제다. 굳이 간단하게 아래 코드처럼 큐를 사용해서 풀어보았는데, 레벨 2는 아닌 거 같은 쉬운 문제였다. 이번 코드는 쉽기 때문에 굳이 부연설명 들어가지 않음. def solution(progresses, speeds): answer=[] day_=0 cnt=0 while len(progresses)>0: if progresses[0]+day_*speeds[..

cording test 2023.06.07