728x90

Total

728x90

    [프로그래머스] 카운트 다운 (DP, 다트)

    https://school.programmers.co.kr/learn/courses/30/lessons/131129 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 1. 가장 먼저 0점을 만든 선수가 승리 2. "싱글" 또는 "불"을 더 많이 던진 선수가 승리 3. 선공인 선수가 승리 최선의 경우 던질 다트 수와 그 때의 "싱글" 또는 "불"을 맞춘 횟수(합) 1. 1-60점 dp 채우기 2. 23부터 target 까지 1-60점 빼고 새로 맞추는 점수와 비교 2023.05.19 - [백준/동적계획법] - 동전 교환 (DP) 동전 교환 (DP) 분석 ..

    [프로그래머스] 모두 0으로 만들기 (그래프 DFS)

    https://school.programmers.co.kr/learn/courses/30/lessons/76503 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 dfs 탐색하면서 부모 노드에 값 옮기면서 값 카운트 풀이 import sys sys.setrecursionlimit(10**9) answer=0 def solution(a, edges): if sum(a)!=0: return -1 graph=[[] for _ in range(len(a))] for s,e in edges: graph[s].append(e) graph[e].append(s) ..

    [프로그래머스] 영어 끝말잇기

    https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 사람의 수 n과 사람들이 순서대로 말한 단어 words 가 매개변수로 주어질 때, 가장 먼저 탈락하는 사람의 번호와 그 사람이 자신의 몇 번째 차례에 탈락하는지를 구해서 return 사용 단어 목록에 있거나, 끝말이 안맞을 때 [탈락자 번호, 자신의 몇번째 차례] = [ 단어 순서 ÷ 전체 단어 나머지 + 1, 단어 순서 ÷ 전체 단어 몫 + 1] = [(p%n)+1, (p//n)+1] 풀이..

    [프로그래머스] 방문 길이 (set)

    https://school.programmers.co.kr/learn/courses/30/lessons/49994 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 게임 캐릭터가 처음 걸어본 길의 길이 (시작 좌표, 도착좌표) , (도착 좌표, 시작 좌표) 저장 시작-도착, 도착-시작 같은 길이므로 둘 다 저장 중복 없이 저장하기 위해 set 사용 set길이/2 리턴 (시작-도착, 도착-시작은 같은 길이므로) 풀이 def solution(dirs): d={'U':(-1,0),'D':(1,0),'R':(0,1),'L':(0,-1)} sets = set()..

    [프로그래머스] 기지국 설치

    https://school.programmers.co.kr/learn/courses/30/lessons/12979 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 아파트 개수 11, 기지국 설치된 아파트 번호 [4, 11], 전파의 도달 거리 1 1. 첫 기지국 앞 반경 못미치는 거리 추가 (2) [2] 2. 중간 기지국 반경 못미치는 거리 추가 (9-5=4) [2 ,4] 3. 마지각 기지국 반경 못미치는 거리 추가 (0) [2,4,0] 4. 거리 리스트 돌면서 거리/반경*2+1 더하기 2 ➔ 2 / (1*2+1) = 2/3 = 1 (올림) 4 ➔ 4..

    [프로그래머스] 최적의 행렬 곱셈 (DP)

    https://school.programmers.co.kr/learn/courses/30/lessons/12942 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 더보기 2023.04.04 - [백준/동적계획법] - [11049번] 행렬 곱셈 순서 (행렬 곱 연산 횟수의 최솟값 구하기, DP) [11049번] 행렬 곱셈 순서 (행렬 곱 연산 횟수의 최솟값 구하기, DP) 11049번: 행렬 곱셈 순서 첫째 줄에 입력으로 주어진 행렬을 곱하는데 필요한 곱셈 연산의 최솟값을 출력한다. 정답은 231-1 보다 작거나 같은 자연수이다. 또한, 최악의 순서로 ..

    [프로그래머스] 도둑질 (DP)

    https://school.programmers.co.kr/learn/courses/30/lessons/42897 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 2023.07.15 - [Algorithm PS/Programmers] - 스티커모으기 (DP) 스티커모으기 (DP) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 인 karla.tistory.com 풀이 def solution(mone..

    혼자서 하는 틱택토

    https://school.programmers.co.kr/learn/courses/30/lessons/160585 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 게임판이 규칙을 지켜서 틱택토를 진행했을 때 나올 수 있는 게임 상황이면 1을 아니라면 0을 return 틱택토 - 가로, 세로, 대각선으로 3개가 같은 표시가 만들어지면 같은 표시를 만든 사람이 승리 - 선공이 "O", 후공이 "X" 혼자 플레이할 때 규칙 어기는 사례 - "O"를 표시할 차례인데 "X"를 표시하거나 반대로 "X"를 표시할 차례인데 "O"를 표시 - 선공이나 후공이 승리해..

    [Python] 교점에 별 만들기

    https://school.programmers.co.kr/learn/courses/30/lessons/87377 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 분석Ax + By + C = 0으로 표현할 수 있는 n개의 직선이 주어질 때, 이 직선의 교점 중 정수 좌표모든 별을 포함하는 최소 사각형을 returnAx + By + E = 0Cx + Dy + F = 0두 직선의 교점이 유일하게 존재할 경우, 그 교점은 다음과 같습니다.X= (BF - ED) / (AD - BC)y = (EC - AF) / (AD - BC)  . . . . . . . . . . ...

    [프로그래머스] 숫자 블록

    https://school.programmers.co.kr/learn/courses/30/lessons/12923 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 분석 블록에 적힌 번호가 n 일 때, 가장 첫 블록은 n * 2번째 위치에 설치합니다. 그 다음은 n * 3, 그 다음은 n * 4, ...위치에 설치합니다. 기존에 설치된 블록은 빼고 새로운 블록을 집어넣습니다. ➔ n보다 작은 가장 큰 n의 약수 구하기 풀이 from math import sqrt def solution(begin, end): answer = [] for i in range(b..