본문 바로가기

분류 전체보기

(58)
프로그래머스 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] 다리를 지나는 트..
백준 11047 - 동전0 깃허브: github.com/MSIQOC/BOJ/blob/master/b11047_%EB%8F%99%EC%A0%840.java www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 직관적으로 생각했을 때, K원을 만드는데 필요한 동전 개수의 최솟값을 구하려면 값이 큰 동전부터 사용해나가면 된다. 사용할 수 있는 값이 제일 큰 동전부터 사용하고 그 다음에 차례대로 큰 동전들을 사용하는 방식으로 문제를 ..
백준 1149 - RGB거리 깃허브: github.com/MSIQOC/BOJ/blob/master/b1149_RGB%EA%B1%B0%EB%A6%AC.java www.acmicpc.net/problem/1149 1149번: RGB거리 첫째 줄에 집의 수 N(2 ≤ N ≤ 1,000)이 주어진다. 둘째 줄부터 N개의 줄에는 각 집을 빨강, 초록, 파랑으로 칠하는 비용이 1번 집부터 한 줄에 하나씩 주어진다. 집을 칠하는 비용은 1,000보다 작거나 www.acmicpc.net 문제의 조건은 다음과 같은데, 해석해보면 한 집과 인접한 집의 색깔은 같지 않아야한다는 뜻이다. 문제를 봤을 때 i번째 집에서 i-1번째집과 i+1번째 집의 색을 어떻게 칠해야할지 다 고려해봐야할 것 같지만, 사실 위 그림처럼 1번집부터 차례대로 칠해나갈 때 바로..
백준 9461 - 파도반 수열 깃허브: https://github.com/MSIQOC/BOJ/blob/master/b9461_%ED%8C%8C%EB%8F%84%EB%B0%98%EC%88%98%EC%97%B4.java www.acmicpc.net/problem/9461 9461번: 파도반 수열 오른쪽 그림과 같이 삼각형이 나선 모양으로 놓여져 있다. 첫 삼각형은 정삼각형으로 변의 길이는 1이다. 그 다음에는 다음과 같은 과정으로 정삼각형을 계속 추가한다. 나선에서 가장 긴 변의 www.acmicpc.net 주어진 그림에서 계속해서 나선모양으로 정삼각형을 그려나가며 규칙을 찾아보았다. 1부터 9까지는 기본적으로 주어진 것이고, 그 뒤로 계속 구해보다보면 규칙을 발견하게 된다. 위 그림을 토대로 기본적으로 주어진 것의 다음 숫자에 대해서는..
백준 9095 - 1,2,3 더하기 (재귀) 깃허브: https://github.com/MSIQOC/BOJ/blob/master/b9095_123%EB%8D%94%ED%95%98%EA%B8%B0_%EC%9E%AC%EA%B7%80.java www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 나에겐 재귀가 많이 어렵고 약한 부분이기 때문에 앞서 푼 문제와 똑같은 문제를 재귀로 풀어보았다. 재귀라는 것은 코드자체가 어떻게 동작하는지 하나하나 알아볼려면 어려운 것 같고, 코드의 동작원리는 함수의 안으로 들어갔다가 나오는 것이라는 것만 기억해두고 한 문제에 대한 모든 경우의 수를 찾는 것이 중요한 것 같다. 이 ..
백준 15990 - 1, 2, 3 더하기 5 깃허브: github.com/MSIQOC/BOJ/blob/master/b15990_123%EB%8D%94%ED%95%98%EA%B8%B05.java www.acmicpc.net/problem/15990 15990번: 1, 2, 3 더하기 5 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다. www.acmicpc.net 참고: msiqoc.tistory.com/10 백준 9095 - 1, 2, 3 더하기 깃허브: github.com/MSIQOC/BOJ/blob/master/b9095_123%EB%8D%94%ED%95%98%EA%B8%B0.java www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 ..