본문 바로가기

전체 글

(172)
BOJ 2294 - 동전2 www.acmicpc.net/problem/2294 2294번: 동전 2 첫째 줄에 n, k가 주어진다. (1 ≤ n ≤ 100, 1 ≤ k ≤ 10,000) 다음 n개의 줄에는 각각의 동전의 가치가 주어진다. 동전의 가치는 100,000보다 작거나 같은 자연수이다. 가치가 같은 동전이 여러 번 주�� www.acmicpc.net 동적 계획법 문제를 한번도 풀어보지 않아서 오늘은 DP 문제를 골라서 풀어봤습니다. 동적 계획법을 공부하면서 느낀 것은 사전에 공부를 하지 않는다면 실전에서 바로 적용하는 것은 무리가 있다고 판단했습니다. 그래서 미리 미리 사전에 관련 문제를 학습하고 풀이하는 과정이 필요한 것 같습니다. 동적 계획법을 공부하면서 제가 이해한 것은 이미 정해진 해답들 속에서 관련된 규칙을 도출해..
[Leetcode 8/100] Letter Tile Possibilities - Medium https://leetcode.com/problems/letter-tile-possibilities/ Letter Tile Possibilities - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 백트래킹 문제로 DFS를 이용해 조합을 구하면 되는 문제입니다. 이런 유형의 문제는 쉽게 접해볼 수 있었는데 문자열을 다루는 부분이 조금 어려웠습니다. StringBuilder의 setLength 함수를 통해 원래의 문자열로 되돌려주는 부분이 가장 중요했던 것 같습니..
[Leetcode 7/100] Increasing Order Search Tree - Easy https://leetcode.com/problems/increasing-order-search-tree/ Increasing Order Search Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 이진탐색트리를 왼쪽 노드의 자식은 없고 오른쪽 노드의 자식만 존재하도록 트리를 순서대로 정렬하는 문제입니다. 이진탐색트리의 특징은 모든 노드의 왼쪽 노드의 값은 루트 노드보다 작으며 오른쪽 노드의 값은 루트 노드의 값 보다 큰 것입니다. 이 특징을 ..
프로그래머스 - 튜플(2019 카카오 개발자 겨울 인턴십)` https://programmers.co.kr/learn/courses/30/lessons/64065 코딩테스트 연습 - 튜플 "{{2},{2,1},{2,1,3},{2,1,3,4}}" [2, 1, 3, 4] "{{1,2,3},{2,1},{1,2,4,3},{2}}" [2, 1, 3, 4] "{{4,2,3},{3},{2,3,4,1},{2,3}}" [3, 2, 4, 1] programmers.co.kr 문제를 풀기 전 정확하게 문제 풀이를 이해하고 푸는 것이 중요하다는 것을 다시 한번 깨달았습니다. 그냥 튜플에 입력된 순서대로 받아서 배열에 입력한 후 리턴하면 되는 줄 알았는데 그게 아니라 배열의 크기가 작은 순부터 탐색해야 했습니다. 틀린 풀이 class Solution { public int[] solut..
[Leetcode 6/100] Same Tree - Easy https://leetcode.com/problems/same-tree/ Same Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 두 개의 트리 노드를 input으로 받아서 동일한 트리 노드인지 체크하는 문제입니다. 트리를 탐색하기 위해 DFS 방식을 떠올려서 DFS로 풀이했습니다. 처음에는 한 개의 트리마다 DFS를 통해 방문한 노드를 배열에 담아 반환하는 매서드를 만든 후에 두 개의 배열을 비교하는 방식을 생각했는데 제네릭을 Integer로 선언한..
프로그래머스 - N개의 최소공배수(유클리드 호제법 알아보기) https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배�� programmers.co.kr 이 문제는 유클리드 호제법을 이용해 최대 공약수를 구할수 있다면 보다 쉽게 접근할 수 있는 문제입니다. 저 역시 알고리즘 문제를 풀면서 이전에도 유클리드 호제법을 접해보았는데 다시 문제에 활용하려고 하니 하나도 기억이 안나더라고요. 이 기회에 유클리드 호제법을 정리하려고 이 글을 포스팅합니다~ 추후에 문제에 활용할 ..
프로그래머스 - 다음 큰 숫자 https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr 문제 읽고 그대로 구현하면 되는 문제입니다. 2진수로 변환하는 매서드 만드는데 조금 헷갈리더라고요. 스택사용해서 만들면 조금 수월하게 만들 수 있는 것 같습니다! 다른 사람들 풀이도 조금 참고해봐야겠습니다. 문제 풀이 코드 class Solution { public int solution(int n) { int result = o..
Java - 배열, 리스트 내림차순으로 정렬하려면? 프로그래밍을 하다 보면 배열을 정렬해야 할 때가 반드시 존재합니다. 자바에서는 어떻게오름차순? 그리고 내림차순으로 정렬할 수 있을까요? 퀵 소트, 선택 정렬, 병합 정렬 등을 직접 구현해서 정렬하는 것도 좋은 방법이지만 자바에서 이미 구현해놓은 정렬 메서드를 사용하는 게 가장 편하고 정확한 방법입니다. 가장 대중적으로 많이 사용하는 정렬 방법은 Arrays.sort() 매서드를 사용하는 것입니다. Integer 배열 정렬 소스코드 public class 정렬 { public static void main(String[] args) { Integer[] arr = {3,4,6,4,1,3,7,11,10}; Arrays.sort(arr); // 1. 오름차순 printArray(arr); Arrays.sort..