https://school.programmers.co.kr/learn/courses/30/lessons/49189 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그래프 문제이다 딱히 추가적으로 구현해야 할 건 없고, 양방향 그래프를 잘 입력받은 뒤 bfs로 탐색을 해주면 된다 간선에 가중치가 붙으면 다익스트라를 이용해주면 된다 from collections import deque def solution(n, edge): answer = 0 graph = [[] for _ in range(n+1)] visited = [False] *(n+1) dist = ..
https://school.programmers.co.kr/learn/courses/30/lessons/42895 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 유형 : dp를 베이스로 하는 완전 탐색 문제 풀이 : 숫자 n개를 이용해 만들기 위해선, 숫자 n-1개로 만든 수들을 이용해야 한다. 유의점 : N=4, number = 17 인 경우 -> 17 = (4*4) + (4/4) 이 경우는, 4를 4개를 이용해 17을 만들었는데, 4를 3개 이용한 조합에서 사칙연산한 것이 아니라, 4를 2개 이용한 숫자(= 4*4)와 4를 2개 이용한 숫자(= ..
https://school.programmers.co.kr/learn/courses/30/lessons/42842?language=python3# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 완전 탐색 문제이다. 다른 분들은 변수가 2개 (가로,세로)인 방정식 2개를 세워 연립하거나 근의 공식을 이용해 풀었다 또는 yellow는 최소 1x1 이상인, 사각형 꼴이므로 yellow 타일 개수의 약수를 이용해 식을 풀기도 하였다 내 풀이는 3중 for 문을 이용한 정말 '완전 탐색' 풀이이다. 시간 복잡도 측면에서 상당히 비효율적이므로 개선할 여지가 있다 d..
https://school.programmers.co.kr/learn/courses/30/lessons/42839?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1) 주어진 문자열에서 순열을 1개, 2개, 3개,,, 문자열의 길이-1개 까지 뽑아준다. 2) 뽑힌 순열들을 정수로 바꿈과 동시에 set안에 삽입하여 중복을 제거해준다. 3) set안의 정수들 중 소수가 몇개인지 판별하여 개수를 세준다 from itertools import permutations as p def is_prime(x): if x
https://school.programmers.co.kr/learn/courses/30/lessons/42883 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그리디 문제이다 사실 문제 자체는 2중 for문을 쓰면 금방 풀리긴 하는데, 그렇게 호락호락 할리가 없지 ㅎㅎ 조건이 백만까지 주어져서, 2중 for문을 쓰면 시간초과가 뜰 것이다. 이 문제는 주어진 숫자들을 정렬해서 푸는 문제가 아니므로, 앞에서부터 작은 수들을 지워나가야 한다. 키포인트는 stack을 이용한 풀이이다. 숫자들을 스택에 넣다가, 만약 스택의 top보다 큰 수가 나오면 스택의 to..
https://school.programmers.co.kr/learn/courses/30/lessons/42860 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 이 문제의 포인트는 2가지이다. 1. A에서 해당 알파벳으로 가는 최소 횟수 구하기 2. 현재 위치에서 왼쪽과 오른쪽 어디로 갈 것 인지 정하기 1번은 사실 정해져있다 아스키코드를 이용해 풀이하면, 중간 인덱스를 기준으로 A에서 출발하는 것이 빠른지 아니면 Z로 이동해서 거꾸로 가는 것이 빠른지 알 수 있기 때문이다. 그렇다면 중요한 것은 2번인데 어떻게 풀지 생각해보면, 가장 중요한 포인트는 "..