본문 바로가기

프로그래머스 풀이

(15)
프로그래머스 2단계 - 실패율(Java) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%EC%8B%A4%ED%8C%A8%EC%9C%A8.java https://programmers.co.kr/learn/courses/30/lessons/42889 코딩테스트 연습 - 실패율 실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스 programmers.co.kr 먼저 stages를 오름차순으로 정렬하면 각 스테이지마다 도전자 수를 알 수 있다. 포인터 p를 두고 각 스테이지마다 도전자 수를 구해서 확률을 구하고 해쉬맵에 스테이지를 키로 하고 확률을 value로 해서 넣..
프로그래머스 3단계 - 가장 먼 노드 (Python, Java) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%EA%B0%80%EC%9E%A5%EB%A8%BC%EB%85%B8%EB%93%9C.java https://programmers.co.kr/learn/courses/30/lessons/49189 코딩테스트 연습 - 가장 먼 노드 6 [[3, 6], [4, 3], [3, 2], [1, 3], [1, 2], [2, 4], [5, 2]] 3 programmers.co.kr 20000*20000의 배열을 만드는건 메모리초과 때문에 안된다는걸 기억해야한다. 인접 행렬 대신 각 노드마다 연결된 노드만 저장시키는 인접리스트 방식을 사용해야한다. 자바에서 인접 리스트는 ArrayList를 이용해서 구현했다. 자바풀이 1 2 3..
프로그래머스 2단계 - 피보나치 수(Python) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%ED%94%BC%EB%B3%B4%EB%82%98%EC%B9%98%EC%88%98.py https://programmers.co.kr/learn/courses/30/lessons/12945 코딩테스트 연습 - 피보나치 수 피보나치 수는 F(0) = 0, F(1) = 1일 때, 1 이상의 n에 대하여 F(n) = F(n-1) + F(n-2) 가 적용되는 수 입니다. 예를들어 F(2) = F(0) + F(1) = 0 + 1 = 1 F(3) = F(1) + F(2) = 1 + 1 = 2 F(4) = F(2) + F(3) = 1 + 2 = 3 F(5) = F(3) + F(4) = programmers.co.kr 아주 ..
프로그래머스 2단계 - 카펫(Java) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%EC%B9%B4%ED%8E%AB.java https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr brown과 yellow로 세울 수 있는 방정식으로는 1. 두개의 가로 + 두개의 세로 - 네개의 모서리 = brown 2. (가로-2)*(세로-2) = yellow 라는 것이다. "for x는 1부터 7-1=6까지" 는 ..
프로그래머스 1단계 - K번째 수(Python) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/K%EB%B2%88%EC%A7%B8%EC%88%98.py https://programmers.co.kr/learn/courses/30/lessons/42748 코딩테스트 연습 - K번째수 [1, 5, 2, 6, 3, 7, 4] [[2, 5, 3], [4, 4, 1], [1, 7, 3]] [5, 6, 3] programmers.co.kr 굉장히 간단한 문제인데 파이썬으로 푸는게 훨씬 더 간편할 것 같아서 이번엔 파이썬으로만 풀었다. 파이썬의 [시작:끝+1] 기능을 이용해서 원하는만큼 배열을 자르고 sort()를 사용해 오름차순으로 정렬해준 뒤 k번째 원소를 answer 배열에 append 해주면 된다. 1 2 3..
프로그래머스 3단계 - 이중우선순위큐(Python, Java) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%EC%9D%B4%EC%A4%91%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84%ED%81%90.java https://github.com/MSIQOC/Programmers/blob/main/%EC%9D%B4%EC%A4%91%EC%9A%B0%EC%84%A0%EC%88%9C%EC%9C%84%ED%81%90.py https://programmers.co.kr/learn/courses/30/lessons/42628?language=java 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 자바풀이 우선순위 큐를 하나는 오름차순으로 만들고 다른 하나는 내림차순으로 만들어줬다. qsiz..
프로그래머스 2단계 - 다리를 지나가는 트럭(Python) 깃허브: https://github.com/MSIQOC/Programmers/blob/main/%EB%8B%A4%EB%A6%AC%EB%A5%BC%EC%A7%80%EB%82%98%EB%8A%94%ED%8A%B8%EB%9F%AD.py https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr https://minhamina.tistory.com/241 [프로그래머스 - Java] 다리를 지나는 트..