[프로그래머스] 징검다리 건너기 (Python)
https://programmers.co.kr/learn/courses/30/lessons/64062 코딩테스트 연습 - 징검다리 건너기 [2, 4, 5, 3, 2, 1, 4, 2, 5, 1] 3 3 programmers.co.kr 이진탐색으로 구현해야 풀리는 문제다 def step_stone(stones,num,k): cnt = 0 for stone in stones: if stone - num = k: return False return True def solution(stones, k): start = 1 end = 200000000 while (start
2021. 11. 16.
[프로그래머스] 길 찾기 게임 (Python)
https://programmers.co.kr/learn/courses/30/lessons/42892 코딩테스트 연습 - 길 찾기 게임 [[5,3],[11,5],[13,3],[3,5],[6,1],[1,3],[8,6],[7,2],[2,2]] [[7,4,6,9,1,8,5,2,3],[9,6,5,8,1,4,3,2,7]] programmers.co.kr 트리 구조는 학부 자료구조 시간 때 어느 정도 했다고 생각했는데 막상 직접 구현하려니까 도저히 떠오르질 않았다... 다른 분들 풀이를 참고했다 - 나중에 추가로 공부를 더 해야겠다. import sys sys.setrecursionlimit(10**5) class Tree: def __init__(self, nodeinfo): self.idx, *self.root..
2021. 11. 15.
[프로그래머스] 기둥과 보 설치 (Python)
https://programmers.co.kr/learn/courses/30/lessons/60061 코딩테스트 연습 - 기둥과 보 설치 5 [[1,0,0,1],[1,1,1,1],[2,1,0,1],[2,2,1,1],[5,0,0,1],[5,1,0,1],[4,2,1,1],[3,2,1,1]] [[1,0,0],[1,1,1],[2,1,0],[2,2,1],[3,2,1],[4,2,1],[5,0,0],[5,1,0]] 5 [[0,0,0,1],[2,0,0,1],[4,0,0,1],[0,1,1,1],[1,1,1,1],[2,1,1,1],[3,1,1,1],[2,0,0,0],[1,1,1,0],[2,2,0,1]] [[ programmers.co.kr 조건이 너무 많아져서 이건 아닌 것 같아서 다른 분 아이디어를 참고해서 코드를 작성..
2021. 11. 15.
[프로그래머스] 풍선 터트리기 (Python)
https://programmers.co.kr/learn/courses/30/lessons/68646 코딩테스트 연습 - 풍선 터트리기 [-16,27,65,-2,58,-92,-71,-68,-61,-33] 6 programmers.co.kr 이런저런 케이스를 생각하다 보면 해당 위치에서 왼쪽 오른쪽으로 가장 작은 값이 하나라도 본인일 경우 마지막까지 남는 풍선이 될 수 있다. 따라서 왼쪽에서, 오른쪽에서 동시에 서치 하면서 가장 작은 순간이 있다면 answer에 추가해주면 된다. 나의 풀이 def solution(a): answer = [False for _ in range(len(a))] INF = 1000000001 left_min, right_min = INF, INF for i in range(le..
2021. 11. 14.
[프로그래머스] 멀리 뛰기(Python)
https://programmers.co.kr/learn/courses/30/lessons/12914 코딩테스트 연습 - 멀리 뛰기 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2 programmers.co.kr 나열해서 쓰다 보면 피보나치임을 알 수 있다. 나의 풀이 def solution(n): fibo = [0]*(n+1) fibo[0] = 1 fibo[1] = 1 for i in range(2,n+1): fibo[i] = fibo[i-1] + fibo[i-2] return fibo[n]%1234567
2021. 11. 13.