본문 바로가기

Preparing Coding Test114

[자료구조/Java] Graph 검색 DFS, BFS 구현 https://www.youtube.com/watch?v=_hxFgg7TLZQ 따르고 싶은 유튜브 선생님이 생겼다.......... 1. BFS : 넓이 우선 탐색 1) Queue로 구현 가능 시작 노드 하나를 큐에 넣고 시작 → 큐에서 하나 꺼내고 → 해당 노드의 자식 노드들을 하나씩 큐에 넣음 → 처음에 넣은 노드를 출력 → (큐가 빌 때까지 반복) 2. DFS : 깊이 우선 탐색 1) Stack으로 구현 가능 스택에 노드를 하나 넣고 시작 → 스택에서 노드를 꺼내고 → 자식 노드들을 넣고 → 꺼낸 노드를 출력 → (스택이 빌 때까지 반복) 2) 재귀 호출로 구현 가능 노드에 방문하면 우선 출력 → 자식들을 재귀로 호출 내용 정리 import java.util.LinkedList; import jav.. 2020. 8. 14.
[Java/프로그래머스] 멀쩡한 사각형 문제 https://programmers.co.kr/learn/courses/30/lessons/62048 코딩테스트 연습 - 멀쩡한 사각형 가로 길이가 Wcm, 세로 길이가 Hcm인 직사각형 종이가 있습니다. 종이에는 가로, 세로 방향과 평행하게 격자 형태로 선이 그어져 있으며, 모든 격자칸은 1cm x 1cm 크기입니다. 이 종이를 격자 선을 �� programmers.co.kr 풀이 참고 : https://velog.io/@ajufresh/%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%A8%B8%EC%8A%A4-%EB%A9%80%EC%A9%A1%ED%95%9C-%EC%82%AC%EA%B0%81%ED%98%95-%EB%AC%B8%EC%A0%9C%ED%92%80%EC%9D%B4.. 2020. 8. 12.
[Java/프로그래머스] 프린터 문제 https://programmers.co.kr/learn/courses/30/lessons/42587# 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린�� programmers.co.kr 시행착오 import java.util.*; class Solution { public void shiftElements(int[] priorities){ int temp = priorities[0]; for(int i=1; i 2020. 8. 12.
[Java/프로그래머스] 스킬트리 문제 https://programmers.co.kr/learn/courses/30/lessons/49993 코딩테스트 연습 - 스킬트리 programmers.co.kr 풀이 1. 알파벳 개수만큼의 원소를 가지는 int형 배열 rank ASCII 코드를 고려했을 때, skill의 각 문자에 해당하는 인덱스에 순서를 저장하게 된다. skill 안에 없는 알파벳은 자동으로 0으로 저장된다. 2. flags는 skill_trees의 각 문자열 원소들이 규칙을 잘 지켰는지에 대한 boolean 변수다. - 0일 경우 상관이 없으므로 pass - pos(1순위부터)와 skill_trees 원소의 문자가 같을 경우 순위인 pos는 +1 - skill에 있는 알파벳이면서 pos가 다른 경우(순위가 틀린 경우) flag.. 2020. 8. 10.
[Java/프로그래머스] 다리를 지나는 트럭 문제 https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일 차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 트럭은 1초에 1만큼 움직이며, 다리 길이�� programmers.co.kr 풀이 Queue에 트럭의 무게를 입력하는 방식으로 풀었다. 1. Queue bridge 2. 다리가 비어있으면, truck 하나의 무게를 올린다. 3. 트럭이 다 지나갔으면, Queue의 크기는 다리의 길이와 같아진다. 트럭 하나의 무게를 뺀다. 4. 다리가 비어있지 않고, 현재 무게와 트럭 하나의 무게 합이 최대하중보다 작거나 같을 때.. 2020. 8. 10.
[Java/프로그래머스] 124 나라의 숫자 문제 https://programmers.co.kr/learn/courses/30/lessons/12899?language=java# 코딩테스트 연습 - 124 나라의 숫자 124 나라가 있습니다. 124 나라에서는 10진법이 아닌 다음과 같은 자신들만의 규칙으로 수를 표현합니다. 124 나라에는 자연수만 존재합니다. 124 나라에는 모든 수를 표현할 때 1, 2, 4만 사용합니다. programmers.co.kr 풀이 3진법을 이용해서 풀었다. 아래의 표를 이용해서 십진법 → 삼진법 → 124 나라의 숫자 순으로 숫자를 변환시켜 주었다. 십진법 3진법 124 나라의 숫자 1 1 1 2 2 2 3 10 4 4 11 11 5 12 12 6 20 14 7 21 21 8 22 22 9 100 24 10 101.. 2020. 8. 7.
[Java / C++] 예산 문제 https://programmers.co.kr/learn/courses/30/lessons/12982 코딩테스트 연습 - 예산 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 �� programmers.co.kr 코드 Java import java.util.Arrays; class Solution { public int solution(int[] d, int budget) { int answer = 0; Arrays.sort(d); int i=0; while( i= d[i]){ answer++; budget -= d[i++]; } return answer; } }.. 2020. 8. 3.
[Java] 소수 찾기 문제 https://programmers.co.kr/learn/courses/30/lessons/12921 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 풀이 에라토스테네스의 체를 참고했다. https://ko.wikipedia.org/wiki/에라토스테네스의_체 에라토스테네스의 체 - 위키백과, 우리 모두의 백과사전 위키백과, 우리 모두의 백과사전. 수학에서 에라토스테네스의 체는 소수(素數, 발음: [소쑤])를 찾는 방법이다. 고대 그리스 수학자 에라토스테네스가 발견하였다. 알고리.. 2020. 8. 3.
[Java] 서울에서 김서방 찾기 문제 https://programmers.co.kr/learn/courses/30/lessons/12919 코딩테스트 연습 - 서울에서 김서방 찾기 String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제 programmers.co.kr 코드 class Solution { public String solution(String[] seoul) { String answer = "김서방은 "; for(int i=0; i 2020. 7. 31.