Alogorithm/programmers

Alogorithm/programmers

[programmers] Lv2 124 나라의 숫자 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/12899 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 1, 2, 4 세 가지 숫자기 때문에 3으로 나누어 나온 나머지를 answer 앞에 붙여서 수를 완성한다. def solution(n): answer = '' check = {1: '1', 2: '2', 0: '4'} while n > 0: answer = check[n % 3] + answer n = (n-1) // 3 return answer ※ 잘못된 점, 개선점 등이 있다면 언제든 댓글..

Alogorithm/programmers

[programmers] Lv2 두 원 사이의 정수 쌍 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/181187 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 처음에 2중 for문으로 문제를 쉽게 하려했으나 역시 시간초과가 발생했다. for문을 한번만 쓰는 방법으로 해결했다. - 1사분면과 하나의 축 위에 있는 점만 계산하여 x4로 return 한다. - 축 위에 있는 점의 수는 r2 - r1 이며 r1 위에 있는 점도 가능하기 때문에 +1 을 해준다. - 0 < y < r2 사이의 y좌표를 따라 반복문을 진행한다. - 해당 y좌표에서 r2 내에 ..

Alogorithm/programmers

[programmers] Lv2 요격 시스템 - Python & Java

https://school.programmers.co.kr/learn/courses/30/lessons/181188 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - greedy 문제이며 프로그래머스 Lv3 단속 카메라 문제와 거의 흡사한 문제이다. - 아래의 포스팅은 참고자료 단속카메라 참고자료이다. https://kcw0360.tistory.com/29 [programmers] Lv3 단속카메라 - Python https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개..

Alogorithm/programmers

[programmers] Lv3 단속카메라 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/42884 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 카메라를 최소로 하기 위해 겹치는 구간을 찾는 문제이다. - 고속도로에서 나가는 점을 기준으로 해서 주어진 값들을 정렬을 한다. - 카메라 설치 위치는 정렬의 기준인 진출 지점으로 정한다. - 카메라 설치 위치가 현재 구간의 진입 지점 위치에 도달하지 못하는 경우에는 카메라가 추가로 필요하다. - 카메라 수를 늘리고 카메라 설치 위치를 진출지점으로 갱신해 주며 반복문 수행한다. def solu..

Alogorithm/programmers

[programmers] Lv2 연속된 부분 수열의 합 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/178870 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 투 포인터 알고리즘을 이용하여 특정한 합을 가지는 부분 연속 수열을 찾는 문제이다. - 알고리즘에 대한 자세한 설명은 나동빈 님의 이것이 코딩 테스트다 관련 유튜브를 참고하면 좋을 것이다. https://www.youtube.com/watch?v=ttLRltNDiCo&list=PLVsNizTWUw7H9_of5YCB0FmsSc-K44y81&index=39 def solution(sequence..

Alogorithm/programmers

[programmers] Lv2 마법의 엘리베이터 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/148653 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 입력받은 층 수를 각 자릿수로 분리하고 1의 자릿수를 가리키는 idx로 초기화한다. - 0층으로 내려가기 위해 돌의 개수를 최소로 소모하기 위해서는 해당 자리의 수가 어디에 위치해 있는지에 따라 아래로 내려갈 것인지 위로 올라갈 것인지 판단한다. - 가리키는 idx가 0 ~ 4인 경우는 내려가는 것이 돌의 소모가 적고 6~9인 경우는 올라가는 것이 돌의 소모가 적다. - 5에서는 경우의 수가..

Alogorithm/programmers

[programmers] Lv2 미로 탈출 - Python

https://school.programmers.co.kr/learn/courses/30/lessons/159993 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - BFS로 문제를 해결했다. - 레버를 거쳐가야 출구에 있는 문을 열 수 있기 때문에 출구에서 레버로, 레버에서 출구로 가는 최단거리를 구한다. - 이때 두 가지 경우 중 한 가지라도 목적지에 도달하지 못하는 경우 -1을 return 한다. from collections import deque def solution(maps): n, m = len(maps), len(maps[0]) dy = ..

Alogorithm/programmers

[programmers] Lv3 표 병합 - Python

코딩테스트 연습 - 표 병합 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - Union - find를 이용해 문제를 해결했다. - 사실 union - find가 잘 기억나지 않아 찾아보았다. 그리고 2차원 배열에서는 적용해 본 적이 없어 다른 사람의 풀이를 참고해보기도 했다. - 같이 스터디하시는 분 중 한분께서 51 x 51의 2차원 배열을 51을 제곱한 값인 2601의 길이를 가진 1차원 배열로 하여 문제를 해결했다. 표 편집이라 해서 2차원으로 체크를 해야 한다는 생각에 갇힌 것 같다. 알고..

Alogorithm/programmers

[programmers] Lv2 게임 맵 최단거리 - Python

코딩테스트 연습 - 게임 맵 최단거리 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 기본적인 BFS/DFS문제이다. def bfs(maze, n, m): visited = [[0] * m for _ in range(n)] q = [] q.append([0, 0]) visited[0][0] = 1 dy = [-1, 1, 0, 0] dx = [0, 0, -1, 1] while q: st = q.pop(0) for k in range(4): i, j = st[0] + dy[k], st[1] + dx[..

Alogorithm/programmers

[programmers] Lv2 과제 진행하기 - Python & Java

코딩테스트 연습 - 과제 진행하기 | 프로그래머스 스쿨 (programmers.co.kr) 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr - 정렬 + 스택을 이용했다. - 처음에는 스택의 마지막과 현재 정보랑 비교해서 하는 식으로 진행하려 했으나 잘되지 않아 시간의 흐르면서 스택의 마지막에 있는 과제를 진행하는 방식으로 바꿨다. - 먼저, 입력 받는 값의 시간을 분으로 바꿔준다. 플레이 시간도 int 값으로 변환 후 새로 list에 저장한다. 이때 시간을 key로 하고 나머지를 value로 하는 시간 체크용 dict도 만들어 준다. - 과제 시작 시간으로..

Dorobo
'Alogorithm/programmers' 카테고리의 글 목록 (2 Page)