algorithm/프로그래머스

https://school.programmers.co.kr/learn/courses/30/lessons/169199 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 접근1. bfs를 탐색을 하면서 최솟값을 갱신해 나간다. 최종코드 from collections import deque import sys def is_range(n, m, x, y): return 0
https://school.programmers.co.kr/learn/courses/30/lessons/172928# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 그래프 위에서 정해진 방향과 거리만큼 로봇을 움직이는 문제이다. 그래프 크기와 명령의 개수가 많지 않은 단순한 시뮬레이션 문제이다. dict(), dxs, dys 변수를 활용해서 동, 서, 남, 북으로의 다음 방향을 그래프 탐색한다. 1. 그래프 범위에서 나가는지 2. 중간에 X가 있어서 갈 수 없는지 에 대해서 조건문 처리만 해주면 쉽게 해결할 수 있다. 최종코드 def is_range(x..
https://school.programmers.co.kr/learn/courses/30/lessons/176963 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dict()를 활용하여 {사람이름 : 그사람에 대한 추억점수}를 구한다. 각 사진을 순회하며 사진속에 있는 사람의 추억점수를 모두 더해준다. 단, dict()배열에 특정 사람이 없는 경우가 있을 수 있기 때문에 조건문을 활용해서 이름이 있는 경우에만 점수를 더해준다. (이름이 없으면 0점이기 때문에 더해주지 않아도 됨) 최종코드 # 산진별로 추억점수를 구한다. # 사진 속 인물의 그리움 점수를 ..
https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 부분 수열의 합이 k인 부분수열의 구간을 구하여라. 길이가 더 짧고, 구간이 더 앞쪽에있는 정답을 찾자. sequence(≤ 1,000,000) 이므로 구간의 합을 1번의 for문을 통해 구해야 한다. 구간합을 O(N)에 구하기 위해 누적합을 구한다. 투포인터(p1, p2)를 활용해서 앞에서부터 k값에 해당하는 구간을 찾는다. 현재 구간합이 k보다 작으면 p2를 늘려주고, k보다 크다면 p1을 ..
https://school.programmers.co.kr/learn/courses/30/lessons/178871 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr dict() 테이블에 {이름 : 등수}의 형태로 데이터를 보관한다. 해설진이 부른 이름 callings를 순회하면서 등수가 바뀔 때마다 players배열에서 위치를 바꿔준다. 그리고 dict() 테이블의 이름과 등수도 새롭게 갱신해준다. 전체적으로 callings(≤ 1,000,000)를 한번만 순회하므로 시간복잡도는 O(N)이다. 최종코드 def solution(players, callings..
https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 원점을 중점으로 가지는 두개의 원이 있을 때, 두개의 원 사이에 있는 정수 좌표 개수를 구해라! 접근1. 완전탐색 -> x O(n**2) 접근2. 1/4만 구하자 -> x 시간초과 접근3. 규칙을 찾아볼까? -> 실패 접근4 -> 큰 원안의 개수에서 작은 원안의 개수를 뺀다. 반지름값이 터무니 없이 컸기 때문에 사실 for문 한번에 해결할 수 있는 방법을 생각해 냈어야 했다. x**2 + y**2
https://school.programmers.co.kr/learn/courses/30/lessons/60058 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 쉽게해결 1시간이내 1시간 이상 or 몇 일 걸림 솔루션 보고 해결 체감 난이도 하 중 상 최상 이해도 완벽히이해 다소 헷갈리는 부분있음 이해못함 덧붙일 말 문제에서 요구하는 재귀함수를 그대로 구현만 하면 되는 문제이다. 문제에서 하란대로 그대로 구현하자. "올바른 괄호 문자열"인지는 스택 자료구조를 이용해서 판단하면 된다. 최종코드 ''' 균형 -> 올바른으로 변환하기 ''' from co..
https://school.programmers.co.kr/learn/courses/30/lessons/60057 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 쉽게해결 1시간이내 1시간 이상 or 몇 일 걸림 솔루션 보고 해결 체감 난이도 하 중 상 최상 이해도 완벽히이해 다소 헷갈리는 부분있음 이해못함 덧붙일 말 압축했을 때 최소로 얻을 수 있는 압축문자열 길이는? 문자열의 길이가 길지 않았기 때문에 모든 길이의 단위로 압축해보고 가장 최소가 되는 값을 구하였다. 즉 1개단위로 자르고, 2개 단위로 자르고... 자를 수 있는 최대인 n // 2 ..
https://school.programmers.co.kr/learn/courses/30/lessons/42892 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 쉽게해결 1시간이내 1시간 이상 or 몇 일 걸림 솔루션 보고 해결 체감 난이도 하 중 상 최상 이해도 완벽히이해 다소 헷갈리는 부분있음 이해못함 덧붙일 말 문제를 처음 봤을 때 두 가지를 고민했다. 1. 연결노드 그래프를 구한다음에 전위, 후위를 할 것인가. 2. (x, y)의 좌표값을 정렬하고 그 관계를 이용해서 전위, 후위를 바로 구할 것인가. 이진트리 탐색의 경우 이전에 풀었을 때 정..
https://school.programmers.co.kr/learn/courses/30/lessons/42891 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 시간 쉽게해결 1시간이내 1시간 이상 or 몇 일 걸림 솔루션 보고 해결 체감 난이도 하 중 상 최상 이해도 완벽히이해 다소 헷갈리는 부분있음 이해못함 덧붙일 말 우선 처음 생각났던 풀이방법은 큐 자료구조에 집어넣고 순차적으로 시뮬레이션을 돌려보는 것이었다. 그러나 조건에 의해서 시간복잡도에 걸린다. 두번째로 생각해낸 방법은 각 음식들이 있는 접시에서 먹는데 적은 시간이 드는 순으로(오름차순)으로..
Don't stop 훈
'algorithm/프로그래머스' 카테고리의 글 목록